js-скрипт не работает для авторизованных пользователей но работает для анонимных.

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

Аватар пользователя rukoved rukoved 10 сентября 2023 в 21:55

Доброго времени суток!
Возник вопрос, почему-то jQuery работает нормально без авторизации на сайте для анонимов, но после того как пользователь авторизовался скрипт уже не запускается, хотя в коде вижу на него ссылку, т.е. все подключено.

На сайте используется суб-тема bootstrap_barrio, js подключен, пробовала и в субтему подключать. Что может блокировать работу js-скрипта?

bootstrap_barrio.libraries

<?php
check_but
:
  
version1.x
  js
:
    
js/check_but.js: {}
?>

bootstrap_barrio.info

<?php
libraries
:
  - 
bootstrap_barrio/check_but
?>

Комментарии

Аватар пользователя rukoved rukoved 11 сентября 2023 в 13:37

Да, там в первую очередь покопалась конечно, но дело не в этом оказалось))

Подключила в модуле, заработало как надо, но на все страницы, код для определенной страницы не заработал никак, может библиотечку какую-то надо, но я не нашла.

Рабочий пример подключения через модуль на все страницы сайта.

пример - 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

Аватар пользователя rukoved rukoved 11 сентября 2023 в 13:43

Этот вариант в подключении через модуль не сработал.

<?php
/**
 * @param $variables
 * Implements hook_preprocess_page()
 */
function library_ex_preprocess_page(&$variables){

  

# Подключили библиотеку на страницу с NID = 1
  
$current_path = \Drupal::service('path.current')->getPath();
  if(
$current_path == '/node/1'){
    
$variables['#attached']['library'][] =  'library_ex/library_ex';
  }
}
?>