У меня проблема с пользовательской темой, которую я создал на тестовом сайте Drupal 9.
- Версия Друпала: 9.3.13
- Веб-сервер Apache 2.4.41 (XAMP win64)
- PHP версии 8.0.11
- Версия базы данных 10.4.8-MariaDB
пользовательская тема professional.info.yml:
Название: Профессионал
тип: тема
описание: Drupal 9 версия темы Professional
core_version_requirement: ^8 || ^9
базовая тема: ложь
версия: 1.0.0
библиотеки:
- профессиональный/глобальный стиль
- профессиональные/глобальные скрипты
регионы:
sidebar_first: 'Первая боковая панель'
sidebar_second: 'Вторая боковая панель'
заголовок: 'Заголовок'
front_welcome: 'Добро пожаловать'
содержание: 'Содержание'
content_top: 'Топ контента'
Помогите помогите'
нижний колонтитул: 'Нижний колонтитул'
footer_first: 'Первый низ'
footer_second: 'Второе дно'
footer_ Third: 'Третье основание'
Функции:
логотип: правда
имя_сайта: правда
site_slogan: правда
node_user_picture: правда
comment_user_picture: правда
comment_user_verification: правда
фавикон: правда
главное_меню: правда
вторичное_меню: ложь
пользовательская тема professional.libraries.yml:
глобальный стиль:
версия: ВЕРСИЯ
CSS:
тема:
css/style.css: {}
глобальные скрипты:
версия: ВЕРСИЯ
js:
js/custom.js: {}
js/jquery.flexslider-min.js: {}
js/slide.js: {}
зависимости:
- ядро/jquery
- ядро/друпал
- настройки ядра/друпала
- ядро/drupal.dialog.ajax
Я сохранил все файлы новой темы, соблюдая соглашение:
/ корень сайта
- темы
- профессиональный
- CSS
- js
- шаблоны
- система
Проблема в том, что зависимости, включая core/drupal, вообще не применяются, а три файла JavaScript в глобальные сценарии
директива не включена в страницы сайта, несмотря на то, что как основные CSS-файлы Drupal, так и style.css из профессиональный: глобальный стиль
были включены.
Я видел это в консоли инструментов разработки браузера Chrome, когда пытался, например, показать базовую страницу.
node в модальном всплывающем окне на примере Drupal.org:
<ol>
<li><a class="use-ajax" data-dialog-options="{"width":400}" data-dialog-type="modal" href="/xampp/drupal9test/node/9">Basic page displayed in modal dialog. </a></li>
<li><a class="use-ajax" data-dialog-options="{"width":400}" data-dialog-type="dialog" href="/xampp/drupal9test/node/9">Basic page displayed in non modal dialog. </a></li>
<li><a class="edit-button use-ajax" data-dialog-options="{"width":400}" data-dialog-renderer="off_canvas" data-dialog-type="dialog" href="/xampp/drupal9test/node/9">Basic page displayed in a nice off canvas dialog. </a></li>
</ol>
Узел отображается как обычная страница, модальное всплывающее окно не открыто. Таким образом, ни основной JavaScript, ни AJAX не применяются, если я использую свою пользовательскую тему; когда переключаюсь на тему Бартика, все работает, модальные тоже.
Я попытался добавить ядро Drupal и библиотеки AJAX непосредственно в professional_preprocess_page(&$переменные)
в файле professional.theme со строкой:
$variables['#attached']['library'][] = 'core/drupal';
$variables['#attached']['library'][] = 'professional/global-scripts';
Я даже пробовал добавлять библиотеки с Twig прямо в шаблон html.html.twig с помощью {{ attach_library('ядро/друпал') }}
, но ни одно из этих изменений не имело никакого эффекта.
Конечно, каждый раз, когда я менял какие-то настройки, я также очищал кеш сайта.
Что я делаю не так? Может ли кто-нибудь дать мне решение?