«Объявить JavaScript включает по умолчанию» - загрузка только для некоторых узлов - PullRequest
0 голосов
/ 30 марта 2011

Я использую тему Omega в Drupal 7. И я знаю, что вы можете объявить файлы JavaScript по умолчанию внутри mytheme.info.Но это объявлено глобально и загружается каждый раз на каждом узле, даже на узле, где мне не нужен файл js.И это потребляет много ресурсов, и более длительное время делает сайт медленнее.

Есть ли возможность из конфигурации темы указать, что файл js предназначен только для определенного узла?

Ответы [ 3 ]

1 голос
/ 30 марта 2011

Если вы включите оптимизацию JavaScript, хотя я почти уверен, что она объединит все ваши файлы JavaScript, указанные в mytheme.info, в один файл, который будет полезен для производительности вашего сайта.

Это 'Вероятно, лучше всего это сделать, когда вы запускаете сайт в живую, иначе отладка может быть немного хитрой:)

В противном случае функция drupal_add_js поможет вам добавить специфичный для страницы JavaScript.

1 голос
/ 30 марта 2011

В вашем случае я бы предложил добавить js from init hook в ваши пользовательские модули.

mymodule_init(){
  if(arg(0)=='node' && is_numeric(arg(0)) && node_load(arg(1))->type == 'my_content_type'){
    drupal_add_js(path_to_my_js);     
  }
}
1 голос
/ 30 марта 2011

используйте drupal_add_js () , возможно, в phptemplate_preprocess_html и оберните ваше условие вокруг него .. не знаю, если у вас есть nid в аргументе переменных .., иначе используйте current_path ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...