Рейтинг:0

Как удалить addtoany js для конкретной страницы узла?

флаг nz

Мне нужно отключить addtoany модуль js для определенного узла.

Для этого я реализовал

 функция theme_name_js_alter(&$javascript) {
    if(\Drupal::service('path.matcher')->isFrontPage()) {
            unset($javascript['https://static.addtoany.com/menu/page.js']);
            unset($javascript['modules/contrib/addtoany/js/addtoany.js']);
            unset($javascript['темы/тест/js/index.js']);
            unset($javascript['themes/test/js/custom.js']);
        }
    }

Код выше не установлен index.js & custom.js но не работает для addtoany.js и страница.js.

Спасибо за ваше предложение.

Kevin avatar
флаг in
Дважды проверить URL-адреса объектов?
misterdidi avatar
флаг de
addtoany библиотека добавляется с помощью hook_page_attachments(), вы убедились, что ваш hook_js_alter() вызывается после этого? Возможно, вы могли бы попробовать hook_page_attachments_alter() или попытаться удалить библиотеку addtoany/addtoany вместо файлов.
Tushar avatar
флаг nz
Спасибо @misterdidi. Ваш комментарий поможет решить мою проблему.
Рейтинг:1
флаг nz

Реализует hook_page_attachments_alter() чтобы решить это.

функция theme_name_page_attachments_alter (массив и $ вложения) {
    foreach ($attachments['#attached']['library'] as $key => $library) {
        если ($библиотека == 'добавить к любому/добавить к любому') {
          unset($attachments['#attached']['library'][$key]);
        }
    }
}

Ответить или комментировать

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