Cada página de mi tema necesitará usar jquery UI. Sé que está incluido con Drupal 7, pero realmente no puedo descifrar la documentación demasiado técnica de Drupal. Parece que la única forma de hacerlo es con el archivo template.php. Pero como no entiendo ese archivo, estoy tratando de evitar hacerlo de esa manera.
¿Hay alguna otra manera, o debería probar el archivo template.php?
7
theming
javascript
Ben
fuente
fuente
Respuestas:
Agregar JS a una página realmente no es tan difícil, aunque necesite usar php.
Para archivos JS normales, podría hacer algo como esto
Sin embargo, Drupal ha registrado jQuery UI en bibliotecas, lo que facilita la adición de archivos JS y CSS para ciertos complementos de jQuery UI. Esto se puede hacer usando
Todos los complementos de jQuery UI existen en el módulo del sistema, por lo que podría hacer
o
Algunos de estos complementos tienen dependencias porque usan otros complementos. Drupal maneja esto de manera muy inteligente e incluirá los componentes necesarios.
Puede ver la lista completa de complementos de jQuery aquí . Está formateado como una matriz PHP, pero generalmente la convención de nomenclatura es ui.PLUGIN-NAME.
Si necesita agregar el JS en cada página, simplemente puede agregar un enlace de página de preproceso y agregarlos allí. Esto se vería así en el archivo template.php.
fuente
function nocturnal_preprocess_page(&$variables) { drupal_add_library('system', 'ui'); drupal_add_library('system', 'ui.datepicker'); }
drupal_add_library('system', 'ui');
ydrupal_add_library('system', 'ui.accordion');
? ¿El primero está buscando todo o solo el núcleo? ¿Necesito una línea para cada complemento que uso?¿Has probado el módulo date_popup ? funciona bien con el formulario API
fuente
fuente
Gracias
googletorp
por responder esto.Solo para agregar, si las cosas aún no están muy claras relacionadas con la habilitación de complementos de IU .
Tenga en cuenta que cuando mencione:
drupal_add_library('system', 'ui');
Esto NO habilitará todos los complementos de la interfaz de usuario automáticamente.
Puede encontrar la lista de complementos de jquery ui disponibles en drupal 7 aquí:
/misc/ui/
Para habilitar un complemento perticular, por ejemplo:,
jquery.ui.slider.min.js
necesita agregar esta línea:Espero que esto sea útil.
fuente
Tuve este problema recientemente. Alguien me dio su módulo personalizado para forzar la carga de la interfaz de usuario de JQuery en cada página. Puedes recrearlo simplemente. Primero, instale jquery_update y asegúrese de que esté funcionando. Luego, crea y habilita este módulo:
Haga una carpeta en la ruta / a / módulos llamada 'jquery_force'.
En el interior, agregue dos archivos:
jquery_force.info :
jquery_force.module :
fuente
Agregar un gancho de preproceso en el
template.php
archivo no funcionó para mí.Simplemente pongo
drupal_add_library('system', 'ui');
en eltemplate.php
archivo por sí mismo, funciona.fuente