Devo apenas colar o código no arquivo de modelo principal ou existe alguma outra maneira recomendada de anexar novos plugins Jquery no Drupal 7?
javascript
Vonder
fonte
fonte
drupal_add_js
( api.drupal.org/api/drupal/includes--common.inc/function/… ).Respostas:
A maneira mais fácil é apenas adicioná-lo ao arquivo .info do seu tema:
A única exceção é se você estiver adicionando um recurso externo (CDN / script hospedado); nesse caso, você deve usar drupal_add_js (), conforme explicado por Jamie Hollern
fonte
Uncaught TypeError: undefined is not a function
drupal_add_library()
Drupal tem Jquery empacotado com ele.
Para adicionar um arquivo js, você pode usar drupal_add_js da maneira descrita em outras postagens.
Isso funcionará em casos simples, mas se você começar a ter plug-ins que dependem de outros plug-ins. você pode querer olhar para a API da biblioteca . Espero que em tempo os módulos sejam criados para oferecer suporte a bibliotecas populares, existem alguns para a interface do usuário do JQuery, consulte system_library () .
Neste exemplo, para incluir o módulo jQuery ui.accordion, você pode usar drupal_add_library ()
Isso garantirá que o js seja incluído junto com o CSS e quaisquer bibliotecas que dependem dele. Também garantirá que as bibliotecas sejam incluídas apenas uma vez.
Se você disser qual biblioteca está usando, posso fornecer um código de exemplo para defini-la
Então, primeiro crie um módulo para definir a biblioteca (chame-o de qtip) e faça o upload do módulo para uma pasta js abaixo da pasta do módulo
então implemente hook_library ()
Em seguida, adicione o arquivo colocado no seu código
Isso pode ser um exagero para uma biblioteca simples, mas se você precisar gerenciar um grande número de bibliotecas em vários sites e temas, isso tornará a vida muito mais fácil.
fonte
Se você deseja carregar o script apenas em algumas páginas (não todas), você pode adicioná-lo através do seu arquivo template.php. Basta adicionar código semelhante a este:
Eu só testei isso no Drupal 6.
fonte
Você pode adicionar um arquivo JavaScript ao tema que você usa no site Drupal, adicionando uma
script[] =
linha no arquivo .info do tema que você está usando. Eu consideraria esse caso apenas se você estiver usando um tema personalizado ou uma versão modificada de um tema existente que foi renomeado; Eu não sugeriria fazê-lo se você estiver usando, por exemplo, Garland. Fazer isso nesses casos significaria perder todas as alterações sempre que o tema for atualizado ou copiar os arquivos de temas atualizados e, em seguida, reaplicar as mesmas alterações aplicadas à versão anterior dos arquivos; se a alteração está apenas adicionando umascript[]
linha, a alteração é mínima e pode valer a pena fazê-lo, mas isso também significa que os arquivos JavaScript não são adicionados no diretório que contém os arquivos de tema ou você deve adicionar os arquivos JavaScript a cada hora em que o tema é atualizado.Como alternativa, você pode criar um módulo personalizado ou adicionar código a um módulo personalizado existente que você já está usando para esse site.
O profissional é que os arquivos JavaScript serão adicionados a todos os temas como padrão, ou tema de administração, sem a necessidade de alterar todos os temas ativados no site e os usuários podem selecionar por si mesmos.
Como já foi relatado em outra resposta,
hook_init()
é o gancho que você deve implementar. Vou acrescentar quehook_library()
é o novo gancho adicionado no Drupal 7 para arquivos Javascript, como os plug-ins do jQuery.fonte
Você pode usar o módulo Js Injector para adicionar scripts diretamente no painel de administração do Drupal. Como alternativa, você pode usar a função drupal_add_js () para adicionar seu arquivo js à sua página.
fonte
Você pode criar um módulo personalizado simples e adicioná-lo dessa maneira. O código seria semelhante ao seguinte:
fonte
Você pode simplesmente usar
YOURTHEME_preprocess_theme()
se quiser aplicar a condição lógica:drupal_add_js(drupal_get_path('theme','your_theme').'/js/yourplugin.js');
e adicione também no arquivo yourtheme.info:
scripts[] = js/yourplugin.js
fonte
Se você estiver usando o módulo Contexto, instale Context Add Assets. Configure um contexto global ou um contexto específico e inclua uma nova reação para incluir o ativo JS por caminho ou por módulo.
Nenhuma codificação necessária.
fonte
Existem muitas bibliotecas externas que precisam ser incluídas hoje em dia.
Colocá-los todos no diretório js do tema nem sempre é desejável, pois às vezes essas bibliotecas são compostas por vários arquivos js e vários arquivos css.
Acabei usando a
libraries_get_path
função do módulo de bibliotecas para seguir seus caminhos a partir do diretório sites / all / libraries:Aqui está como adicionei os arquivos selecionados relacionados ao textext.js:
Gostaria de saber se existe um repositório externo no qual todas essas bibliotecas são predefinidas, portanto não precisarei defini-las manualmente.
fonte
Recomendo que você carregue o jQuery a partir da fantástica CDN do Google. Verifique este link para obter mais informações: http://code.google.com/apis/libraries/devguide.html#jquery. Certifique-se de não carregar o mesmo script várias vezes em seu site.
fonte
isto é o que funcionou para mim, não há necessidade de criar um módulo para um plugin jQuery ou instalar um - no meu template.php eu adicionei:
fonte
outra maneira é adicionar o seguinte código ao arquivo
page.tpl.php drupal_add_js (drupal_get_path ('tema', 'caminho / para / seu / plugin'). '/plugin.js', 'arquivo');
fonte