Posted 21 июня, 20231 yr comment_194059 Приветствую. Решил изменить шапку сайта. Как рекомендуют на офф. сайте invision, сделал свой шаблон (header) в отдельном файле-шаблоне и заменил им оригинал. В globalTemplate заменил это: <div id='ipsLayout_header' class='ipsClearfix'> <header> <div class='ipsLayout_container'> {template="logo" app="core" group="global" params=""} {{if !\in_array('ipsLayout_minimal', \IPS\Output::i()->bodyClasses )}} {template="userBar" app="core" group="global" params=""} {template="mobileNavigationIcon" app="core" group="global" params=""} {{endif}} </div> </header> {template="navBar" app="core" group="global" params=""} {{if !\in_array('ipsLayout_minimal', \IPS\Output::i()->bodyClasses )}}{template="mobileNavBar" app="core" group="global" params=""}{{endif}} </div> на это: {template="header" app="core" location="front" group="_myheader" params=""} У меня стоит плагин Clear Notifications, который добавляет кнопку очистки уведомлений в юзербар в шапке. Это скрин из стандартной темы. Хук у плагина простой: /* !Hook Data - DO NOT REMOVE */ public static function hookData() { return array_merge_recursive( array ( 'userBar' => array ( 0 => array ( 'selector' => '#elFullNotifications_menu > div.ipsMenu_footerBar.ipsType_center', 'type' => 'add_inside_end', 'content' => '{template="clearNotificationsLink" app="core" group="plugins" location="global"}', ), ), ), parent::hookData() ); } /* End Hook Data */ Но шаблон userBar у меня тоже свой, в отдельном файле (_userBar), т.к. я добавил туда одну кнопку, но див по селектору #elFullNotifications_menu > div.ipsMenu_footerBar.ipsType_center присутствует. И хук не добавляет кнопку. Вопрос: можно ли добавить кнопку очистки в кастомный шаблон через хук , а не через правку шаблона _userBar, напрямую прописав туда код шаблона кнопки из плагина? '_userBar' => array ( 0 => array ( 'selector' => '#elFullNotifications_menu > div.ipsMenu_footerBar.ipsType_center', 'type' => 'add_inside_end', 'content' => '{template="clearNotificationsLink" app="core" group="plugins" location="global"}', ), ), так не работает. Edited 21 июня, 20231 yr by edmsl Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/ Share on other sites Больше вариантов
21 июня, 20231 yr comment_194063 1 час назад, edmsl сказал: так не работает. И не будет, после установки плагина данные о хуке вносятся в бд core_hooks 1. Ты изменил шаблон, но не изменил класс который хукает плагин. Твой плагин скорее всего хукает класс \IPS\Theme\class_core_front_global но твой шаблон как минимум находится в другой группе шаблонов 2. После любых подобных правок не в dev режиме, нужно очистить системные кэши В xml версии плагина есть данные о хуках, например: <hook type="S" class="\IPS\Theme\class_core_front_global" filename="themehookUserBar"> Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/?&do=findComment&comment=194063 Share on other sites Больше вариантов
22 июня, 20231 yr Author comment_194070 Exception Спасибо. Да, так и есть. class_core_front_global. Вообще, вся эта затея с заменой шаблонов мне уже не нравится. Мало того, что плагины после этого не работают, так еще и стандартные фишки, типа цвета имени пользователя в постконтейнере (его я тоже изменил и заменил шаблон), тоже не работают. Как говорится, из двух зол выбираем меньшее. Придется править оригинальные шаблоны. Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/?&do=findComment&comment=194070 Share on other sites Больше вариантов
22 июня, 20231 yr comment_194071 3 часа назад, edmsl сказал: Придется править оригинальные шаблоны. Правильнее будет сделать плагин и при помощи хуков изменять шаблоны темы. Если напрямую изменять шаблоны, то при обновлении ips он их не обновит, что может привести к ошибкам и т.д. Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/?&do=findComment&comment=194071 Share on other sites Больше вариантов
22 июня, 20231 yr Author comment_194072 2 минуты назад, Exception сказал: Если напрямую изменять шаблоны, то при обновлении ips он их не обновит, Кто-то писал, что при обновлении ips будет предложено выбрать, какой код добавить в шаблон, текущий или новый. Или это не то? 6 минут назад, Exception сказал: Правильнее будет сделать плагин и при помощи хуков изменять шаблоны темы. Тогда придется для все плагины изменять, которые связаны с измененными шаблонами. На самом деле мне больше нравится идея создания отдельных шаблонов для изменений, но вот эти вот проблемы с плагинами удручают. Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/?&do=findComment&comment=194072 Share on other sites Больше вариантов
22 июня, 20231 yr comment_194073 7 минут назад, edmsl сказал: Или это не то? Нет, при обновлении ips просто пропустит модифицированные шаблоны Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/?&do=findComment&comment=194073 Share on other sites Больше вариантов
22 июня, 20231 yr comment_194074 12 минут назад, edmsl сказал: Кто-то писал, что при обновлении ips будет предложено выбрать, какой код добавить в шаблон, текущий или новый. Или это не то? нет. это вроде при обновлении стиля такое происходит. к примеру у вас левый стиль, не дефолт. и он у вас правленый своими кодами и т.д и при обновлении стиля оно будет предлагать замену кода Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/?&do=findComment&comment=194074 Share on other sites Больше вариантов
22 июня, 20231 yr Author comment_194075 SlawkA Да, точно. Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/?&do=findComment&comment=194075 Share on other sites Больше вариантов
22 июня, 20231 yr Author comment_194090 7 часов назад, Exception сказал: Правильнее будет сделать плагин и при помощи хуков изменять шаблоны темы. Если я правильно все понимаю, то имеется ввиду перенос в хуки какого-то нового, созданного мной, плагина всех тех изменений, что я сделал в теме путем создания новых файлов шаблонов? Т.е. я удаляю все те новые шаблоны, а их код реализую через плагин? Link to comment https://ipbmafia.ru/topic/25778-ne-rabotaet-huk-dlya-kastomnogo-shablona/?&do=findComment&comment=194090 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.