Не работает подгрузка drupal_add_css в хуке _init своего модуля

Главные вкладки

Аватар пользователя Кришпер Кришпер 7 мая 2018 в 16:39

Прописал в модуле подгрузку джс и ксс.

<?php

function global_save_product_init() {
    
drupal_add_js(  'https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js' );
    
drupal_add_css'https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css' );
}

?>

Джс подгружается, а ксс не подгружает

Пока гружу обычным

Комментарии

Аватар пользователя Кришпер Кришпер 7 мая 2018 в 16:56

Semantics, звучит неплохо)) Но, правда, какая разница, будет ли локальная версия файлов, всё равно ведь закешит. А ещё в идеале бы на разных страницах грузить разные скрипты(вернее, чтоб в ненужных местах скрипты некоторые не грузились).

И вроде как не все в аду горят
https://drupal.stackexchange.com/questions/210976/how-to-drupal-add-js-a...
Для ксс файла такое описание тоже работает

Аватар пользователя OldWarrior OldWarrior 7 мая 2018 в 22:21

Кришпер wrote:

...А ещё в идеале бы на разных страницах грузить разные скрипты(вернее, чтоб в ненужных местах скрипты некоторые не грузились)...

Библия же.

<?php
function YOUR_THEME_preprocess_page(&$variables) {
  
$node menu_get_object();
  if (
$node && $node->nid == DONATE_NODE_ID) {
    
drupal_add_js(drupal_get_path('theme''YOUR_THEME') . '/path/to/js.js');
  }
}
?>

PS. Вместо YOUR_THEME не возбраняется YOUR_MODULE

Аватар пользователя OldWarrior OldWarrior 7 мая 2018 в 22:24

PPS. Кришпер, я как бы извиняюсь канеш, но с такими банальными вопросами (которые гуглятся на раз-два, и даже на том же стековерфлоу) у вас есть неиллюзорный риск, что на вас в скором времени перестанут реагировать.

Аватар пользователя Кришпер Кришпер 7 мая 2018 в 22:30

Мне просто интересны разные варианты реализации тех или иных задач) А в некоторых случаях я просто не знаю чё гуглить, как оно правильно называется.

Аватар пользователя gun_dose gun_dose 8 мая 2018 в 6:58
1

Кришпер wrote:

А ещё в идеале бы на разных страницах грузить разные скрипты

Тут кстати палка о двух концах. Если все скрипты загрузить за один раз, браузер их закэширует и следующие страницы будут грузиться быстрее, плюс проще будет с агрегацией.

Аватар пользователя sas@drupal.org sas@drupal.org 8 мая 2018 в 9:37

Подгружать библиотеки надо по необходимости, и часто поэтому на _preprocess судя по ключевому слову product эти библиотеки явно не нужны через _init везде и всегда.