Cada página do meu tema precisará usar a interface do usuário do jquery. Sei que está incluído no Drupal 7, mas não consigo decifrar a documentação técnica demais do Drupal. Parece que a única maneira de fazer isso é com o arquivo template.php. Mas como não entendo esse arquivo, estou tentando evitar fazer dessa maneira.
Existe outra maneira, ou devo apenas tentar o arquivo template.php?
7
theming
javascript
Ben
fonte
fonte
Respostas:
Adicionar JS a uma página não é tão difícil assim, mesmo que você precise usar o php.
Para arquivos JS normais, você pode fazer algo assim
No entanto, o Drupal registrou a interface do usuário do jQuery nas bibliotecas, facilitando a adição de arquivos JS e CSS para determinados plugins da interface do usuário do jQuery. Isso pode ser feito usando
Todos os plugins da interface do usuário do jQuery existem no módulo do sistema, então você pode fazer
ou
Alguns desses plugins têm dependências porque usam outros plugins. O Drupal lida com isso de maneira inteligente e incluirá os componentes necessários.
Você pode ver a lista completa de plugins jQuery aqui . Isso é formatado como uma matriz PHP, mas geralmente a convenção de nomenclatura é ui.PLUGIN-NAME.
Se você precisar adicionar o JS em todas as páginas, basta adicionar um gancho de página de pré-processamento e adicioná-los lá. Isso seria algo parecido com isso no arquivo template.php.
fonte
function nocturnal_preprocess_page(&$variables) { drupal_add_library('system', 'ui'); drupal_add_library('system', 'ui.datepicker'); }
drupal_add_library('system', 'ui');
edrupal_add_library('system', 'ui.accordion');
? O primeiro está buscando tudo ou apenas o núcleo? Preciso de uma linha para cada plug-in que uso?você já experimentou o módulo date_popup ? funciona bem com a API do formulário
fonte
fonte
Obrigado
googletorp
por responder.Apenas para adicionar, se as coisas ainda não estiverem muito claras relacionadas à ativação de plugins de interface do usuário .
Observe que quando você mencionar:
drupal_add_library('system', 'ui');
Isso NÃO ativará todos os plugins da interface do usuário automaticamente.
Você pode encontrar a lista de plugins jquery ui disponíveis no drupal 7 aqui:
/misc/ui/
Para habilitar um plug-in perticular, por exemplo:,
jquery.ui.slider.min.js
você precisa adicionar esta linha:Espero que isso seja útil.
fonte
Eu tive esse problema recentemente. Alguém me deu seu módulo personalizado para forçar o carregamento da interface do usuário do JQuery em todas as páginas. Você pode recriá-lo simplesmente. Primeiro, instale jquery_update e verifique se está funcionando. Em seguida, crie e ative este módulo:
Crie uma pasta no caminho / to / modules chamado 'jquery_force'.
Dentro, adicione dois arquivos:
jquery_force.info :
jquery_force.module :
fonte
Adicionando um gancho de pré-processo no
template.php
arquivo não funcionou para mim.Eu simplesmente coloco
drupal_add_library('system', 'ui');
notemplate.php
arquivo por si só, funciona.fonte