Jump to content

Хук для получения доступа к конечному html

Featured Replies

Задача заключается в получении доступа к конечному 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 by cyrax02

Link to comment
https://ipbmafia.ru/topic/10600-huk-dlya-polucheniya-dostupa-k-konechnomu-html/
Share on other sites

Нафига такие извраты, если есть шаблоны?


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.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.