Доброго времени суток!
Возник вопрос, почему-то jQuery работает нормально без авторизации на сайте для анонимов, но после того как пользователь авторизовался скрипт уже не запускается, хотя в коде вижу на него ссылку, т.е. все подключено.
На сайте используется суб-тема bootstrap_barrio, js подключен, пробовала и в субтему подключать. Что может блокировать работу js-скрипта?
bootstrap_barrio.libraries
<?php
check_but:
version: 1.x
js:
js/check_but.js: {}
?>
bootstrap_barrio.info
<?php
libraries:
- bootstrap_barrio/check_but
?>
Комментарии
Если в настройках производительности поотключать все, то работает?
Да, там в первую очередь покопалась конечно, но дело не в этом оказалось))
Подключила в модуле, заработало как надо, но на все страницы, код для определенной страницы не заработал никак, может библиотечку какую-то надо, но я не нашла.
Рабочий пример подключения через модуль на все страницы сайта.
пример - namemodul.module
<?php
use ........
use Drupal\Core\Url;
use Drupal\Core\Form\FormStateInterface; /**
* @param $variables
* Implements hook_preprocess_page()
*/
function namemodul_preprocess_page(&$variables){
# Подключить библиотеку на все страницы сайта
$variables['#attached'] = array(
'library' => array('namemodul/namemodul'),
'drupalSettings' => array(
'namemodul' => array(
'namemodul' => array(
'foo' => 'bar',
)
)
),
);
}
/*** @param array $types
* Implements hook_element_info_alter()
*/
function namemodul_element_info_alter(array &$types) {
if (isset($types['submit'])) {
$types['submit']['#attached']['library'][] = 'namemodul/namemodul';
}
}
?>
Инструкцию смотрела здесь - https://drupalfly.ru/lesson/drupal-8-podklucenie-css-i-js
А если эту фукнкцию поключить в twig щаблоне для определенной страницы (ноды)?
Как раз думаю об этом))
Этот вариант в подключении через модуль не сработал.
<?php
# Подключили библиотеку на страницу с NID = 1
/**
* @param $variables
* Implements hook_preprocess_page()
*/
function library_ex_preprocess_page(&$variables){
$current_path = \Drupal::service('path.current')->getPath();
if($current_path == '/node/1'){
$variables['#attached']['library'][] = 'library_ex/library_ex';
}
}
?>