files – ¿Se puede configurar Drupal para buscar módulos en otras ubicaciones?

Pregunta:

Pongo mis módulos en sitios / todos / módulos. ¿Hay alguna forma de configurar Drupal para encontrar más módulos en otras ubicaciones también?


Editado

Utilizo hosts virtuales a menudo, pero no de la forma que describiste. El formato con el que estoy familiarizado se ve así y me ayuda a poner todo el proyecto de trabajo en otro lugar que no sea www.

<VirtualHost *:80>
    ServerName testdrupal.com
    DocumentRoot "C:/proj/testdrupal"
    ServerAlias testdrupal.com

   <Directory "C:/proj/testdrupal/">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>
</VirtualHost>

Creo que lo que estás describiendo es algo diferente, ¿verdad? Estoy tratando de dejar la carpeta drupal dentro de www como de costumbre, pero muevo solo los sitios / todos / módulos a otra ubicación, pero todavía no puedo entender cómo se verá la entrada de VHost en este caso. Digamos que quiero moverlo a C: / proj / testdrupal. Espero no haberte malinterpretado por completo.

Respuesta:

Antes de responder, es útil tener un poco de información sobre cómo Drupal encuentra módulos. Drupal usa una lista de sugerencias de la raíz de Drupal para averiguar dónde encontrar módulos. En orden de prioridad:

  1. sites/$SITENAME/modules
  2. sites/all/modules
  3. profiles/$INSTALLPROFILE/modules
  4. modules

Si Drupal no encuentra un módulo en (1) , verifica (2) . Si no está allí, marca (3) y así sucesivamente.

Para (1) , si solo está utilizando una instalación básica de Drupal en un solo sitio, $SITENAME es el default . De lo contrario:

  • En Drupal 6, $SITENAME es el nombre de host del sitio. Si su sitio se encuentra en example.com , $SITENAME sería example.com .
  • En Drupal 7, $SITENAME se define en sites/sites.php . Si observa example.sites.php , puede ver cómo definirlo. También es importante tener en cuenta que cualquier módulo enumerado allí solo se podrá utilizar para esos sitios específicos, no para todos los sitios.

En (2) , cualquier módulo que se encuentre allí se podrá utilizar en cualquier sitio de la instalación de Drupal. También se dejará intacto cuando actualice la instalación principal. Este es, por supuesto, el lugar recomendado para colocar los módulos y probablemente toda la documentación que haya leído le haya dicho que coloque sus módulos aquí.

(3) se utiliza para perfiles de instalación que requieren un módulo específico. Los perfiles de instalación son esencialmente una forma de definir un estado inicial personalizado para un sitio Drupal. Por ejemplo, Drupal viene con dos perfiles de instalación integrados: Estándar, que incluye las funciones más utilizadas, y Mínimo, que solo incluye lo mínimo necesario para que funcione un sitio Drupal.

(4) es utilizado por el núcleo de Drupal. Si bien técnicamente puede agregar módulos aquí y estarán disponibles para todos los sitios, no debería hacerlo. Seriamente. La carpeta de modules se toca cuando se actualiza el núcleo de Drupal, y causará problemas en el futuro si está pegando los módulos que necesita para que su sitio funcione allí.


Ahora que el fondo está fuera del camino, puede usar trucos del sistema de archivos para que sus módulos se alojen fuera de donde se ve Drupal.

Por ejemplo, puede configurar un enlace simbólico desde sites/all/modules a otro directorio fuera de la instalación de Drupal:

  • En sistemas basados ​​en Unix / Linux / BSD: ln -s /path/to/modules/folder /path/to/drupal/sites/all/modules
  • En Windows Vista / Server 2008/7 y superior: mklink C:\path\to\drupal\sites\all\modules C:\path\to\custom\modules\folder

Hasta donde yo sé, no hay mucho que pueda hacer en versiones anteriores de Windows que no tengan mklink .

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım