1

Topic: Как добавлять коды с помощью хуков - Инструкция

Что такое хук?
Хук - это крючки или ловушки, с помощью которых, код внедряется в шаблон. В functions.php есть функция позволяющая внедрять свой код в файлы движка по его идентификатору без редактирования шаблонов.  Вот так выглядит эта функция:

// Return all code blocks that hook into $hook_id
function get_hook($hook_id)
{
  global $forum_hooks;

  return !defined('FORUM_DISABLE_HOOKS') && isset($forum_hooks[$hook_id]) ? implode("\n", $forum_hooks[$hook_id]) : false;
}

К примеру, нам нужно показать рекламный блок гостям на главной внизу страницы форума.

Для этого ищем подходящий хук, и это у нас:
($hook = get_hook('in_end')) ? eval($hook) : null;

А его идентификатор:
in_end

Инструкция как добавить код с помощью расширения AnyCode Hook Manager прямо через админку:

1. На вкладке - Интеграции создаем интеграцию с именем, к примеру:
Google_Adsense
(имя решения должно быть обязательно латиницей до 42 символов, допускаются символы _ - и цифры)

2. Переходим на вкладку Хуки. Вводим имя идентификатора: in_end

3 В поле ниже, вводим наш код хука, баннер (или что то еще):

if ($forum_user['is_guest']) 
{
    echo ' КОД РЕКЛАМНОГО БЛОКА ';
}

4. Нажимаем "Добавить" и возвращаемся на страницу Интеграции, для того чтобы активировать свое решение.
После чего проверяем на работоспособность.

2

Re: Как добавлять коды с помощью хуков - Инструкция

Отличное расширение.

Плюсую.

3

Re: Как добавлять коды с помощью хуков - Инструкция

Мужики, пните меня по заднице  PunBB_INFO_ICQ/crasy  Как вывести объявление только одной группе пользователей?
Например, есть группа  group=5 ...

4

Re: Как добавлять коды с помощью хуков - Инструкция

Какое то расширение писал для этого, которое выводит стандартное обьявление на форуме, точно есть на форуме, а так вообще:

if ($forum_user['group_id'] == 5) 
{
    echo ' КОД РЕКЛАМНОГО БЛОКА ';
}

1

5

Re: Как добавлять коды с помощью хуков - Инструкция

@PunBB, премного благодарен  PunBB_INFO_ICQ/thumbsup  Отпишусь как попробую

$matches[2]

@PunBB, работает!


$matches[2]

Интересная штука... еще бы полный список все крючков  PunBB_INFO_ICQ/crasy  Я к тому, что начинающим это очень сильно поможет разобраться в структуре форума и придумывать новые расширения.


$matches[2]

Можно мне еще один направляющий пинок? Хочу вывести самописные социальные кнопки только в первом посте рядом с "сообщить модератору" или строкой выше.. чтобы гости смогли линкануть к себе в социалку.  Собственно,за какой хук цепляться?  PunBB_INFO_ICQ/yes

6 (edited by PunBB 2019.05.02 07:19)

Re: Как добавлять коды с помощью хуков - Инструкция

@kirpich, посмотри как это реализовано в расширении для показа рекламы Pan Ads Manager, когда блок выводится под первым сообщением.

Можно наверное просто вставить HTML код ссылок на соцсети в расширение.

1

7

Re: Как добавлять коды с помощью хуков - Инструкция

@PunBBPunBB_INFO_ICQ/write  благодарю!