Posted 19 февраля, 20159 yr Задача заключается в получении доступа к конечному html, отправляемому клиенту. Самый простой способ - добавить строчку кода в исходниках IP.Board (ipsController, registry или около того). Но это некошерный вариант. Единственным корректным вариантом вижу использование хуков. Вот здесь начинаются танцы с бубном. Во первых, непонятно, для чего нужны 4 кэш-папки: cache/skin_cache/cacheid_1 cache/skin_cache/cacheid_2 cache/skin_cache/cacheid_3 cache/skin_cache/cacheid_4 в которых содержатся "одинакове" классы с цифровым постфиксом... Во вторых, не ясно, почему при загрузке страниц IP.Board выполняется метод globalTemplate именно из 4-го кэша: cache/skin_cache/cacheid_4/skin_global.php => skin_global_4::globalTemplate() Тогда как из первых 3 кэшей этот метод не выполняется. Попробовал создать хук для страницы топиков, перегрузив метод skin_topic::topicViewTemplate() class ad_string extends skin_topic(~id~) { public function topicViewTemplate($forum, $topic, $post_data, $displayData) { die(__METHOD__); //return parent::topicViewTemplate($forum, $topic, $post_data, $displayData); } } Всё работает. Далее аналогично пытаюсь перегрузить метод skin_global::globalTemplate(), в качестве перегружаемого класса указываю skin_global, собственный класс - sStyle class sStyle extends skin_global(~id~) { function globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, array $header_items, $items=array(), $footer_items=array(), $stats=array()) { die(__METHOD__); //return parent::globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats); } } И никакой реакции. Кэш очищаю (и хуков, и весь целиком). Вместо "(~id~)" ставил и "_4" - никакой реакции. Edited 19 февраля, 20159 yr by cyrax02
19 февраля, 20159 yr Нафига такие извраты, если есть шаблоны? cache/skin_cache/cacheid_1 cache/skin_cache/cacheid_2 cache/skin_cache/cacheid_3 cache/skin_cache/cacheid_4 по той причине, что на форуме установлено 4 скина (темы).
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.