Jump to content

Запустить хук из скина


Alien2001
 Share

Recommended Posts

Добрый день!

 

Возникла необходимость запустить файл хука из того места, где нет hook point, то есть вручную из скина. Понимаю, что это не очень-то профессионально, но все же, как бы это можно было сделать?

Link to comment
Share on other sites

М-да... Что-то сегодня меня никто не понимает :( Проблема на самом деле такая: мне нужно вставить блоки в правую колонку (типа последние темы, последние сообщение и прочие всякие последние). Эти блоки оформлены как хуки. На большинстве страниц все вставляется нормально - там есть, за что хуки зацепить hook point в скине. Но есть места, где цепляться не за что. Возникла идея, добавить код вызова хука (самого хука, а не точку вызова) прямо в скин (наверное, это не очень хорошо, но все же).

 

Как вставить рекламный блок я разобрался {$this->registry->getClass('IPSAdCode')->getAdCode('ad_code_sidebar_ХХХХ')}, а как вызвать тот же хук последних сообщений?И возможно ли это?

Link to comment
Share on other sites

Рекламный блок это в принципе настройка, и его можно вывести как обычную настройку {$this->settings[''ad_code_sidebar_ХХХХ'']};

А хуки это отдельная песня, тем более шаблонные. Они не "вызываются", они запускаются системой хуков, и что-то вызвать там не так просто. Проще всего добавить свою метку в шаблоне по принципу http://ipbskins.ru/forum/topic10049.html/page__view__findpost__p__69237 (после сохранения метка конечно исчезнет из списка).

  • Upvote 1
Link to comment
Share on other sites

Автор, может тебе систему типа портала надо, куда можно вставлять в блоки PHP код? Может так проще будет?

 

А разве хуки типа "Последние темы" привязаны к метке хука? Они просто в панель выстраиваются в порядке их нахождения в админке, нет? Там, видимо, цикл в главном шаблоне.

Link to comment
Share on other sites

Спасибо. Я уже тоже начал склоняться к варианту добавить свою точку. Я правда делал немного иначе: вручную добавлял метку в мастер-шаблон, чтобы все выглядело красиво и в списке она появлялась

Link to comment
Share on other sites

А разве хуки типа "Последние темы" привязаны к метке хука? Они просто в панель выстраиваются в порядке их нахождения в админке, нет? Там, видимо, цикл в главном шаблоне.

Не-не. Они же обычные хуки: например хук последних тем (стандартный от IPS) цепляется за точку side_blocks в BoardIndexTemplate. (Все это относится к версии 3.3, про 3.4 ничего утверждать не стану)

 

Но мне нужно там, где точки нет - в этом я убедился.

Link to comment
Share on other sites

Стандартные последние темы от IPS можно и отдельно вызвать, ибо это встроенный метод класса форумов. Хук тут только для зацепки к сайдбару. Но лучше все же добавить свою точку - так будет правильнее, и другие хуки если что там можно будет зацепить.

Link to comment
Share on other sites

Это Вы верно подметили, эти информеры ведь действительно можно вызвать, минуя систему хуков. Спасибо, возможно пригодится.

Link to comment
Share on other sites

  • 2 years later...

Пожалуйста, подскажите, где найти этот мастер-шаблон и куда добавить метку? Уже совсем запутался. Мне нужно вывести хук-слайдер под строку навигации в шаблон globalTemplate.

 

В этот шаблон я добавил метку:

 

После:

 

<div id='content' class='clearfix'>

Добавил:

 

<if test="myHookPoint:|:1==1"></if>

 

Где теперь мне искать мастер-шаблон чтобы добавить эту метку в список (чтобы она сохранилась)?

Link to comment
Share on other sites

Нету там, в том-то и дело. Нужно под строку с приложениями (форум, пользователи, чат). Там стандартной метки я не нашел.

Link to comment
Share on other sites

Честно, я искал. Там все крайние условия (if) заканчиваются до тегов <div>, поэтому слайдер вписывался прямо в панель. А отдельного условия я так и не нашел.

 

Поэтому пришлось добавить метку, но как ее навсегда добавить в список, не подскажете?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...