Drupal печатает .info скрипт группы отдельно - PullRequest
1 голос
/ 09 марта 2012

Я определяю свои скрипты в .info моей темы в 2 группах; те, кто загружает пре-тело, и те, кто загружает почтовый файл, например:

; Scripts in head group to load pre-body
scripts[head][] = js/cufon.js
scripts[head][] = js/font.js

; Scripts in end group to load after all other html
scripts[end][] = js/scripts.js

Есть ли способ распечатать их отдельно, на мой взгляд? Я предполагал, что смогу сделать это так:

<?php print $scripts['head']; ?>
<!-- html -->
<?php print $scripts['end']; ?>

Спасибо

1 Ответ

0 голосов
/ 09 марта 2012

Насколько я могу судить, то, что я пытался сделать, невозможно, но это можно сделать другим способом.

Создайте функцию [theme] _preprocess_html в вашем template.php и используйте drupal_add_js, чтобы добавить свои сценарии с областью действия, а затем с помощью drupal_get_js получить все сценарии, добавленные в каждую область, а также $ vars:

// Set Scripts
$path = drupal_get_path('theme', 'themename');
// pre-body scripts
$options = array('scope'=>'scripts_head','preprocess'=>true);
drupal_add_js($path.'/js/cufon.js',$options);
drupal_add_js($path.'/js/myfont.font.js',$options);
// post-body scripts
$options['scope'] = 'header';
drupal_add_js($path.'/js/scripts.js',$options);
// pass to view
$vars["scripts_head"] = drupal_get_js('scripts_head');
$vars["scripts_end"]  = drupal_get_js('header');

Документация:
drupal_add_js
drupal_get_js

...