Вставка PHP кода в шаблон Xenforo

в разделе Xenforo. комментарии: 1

Представим, что нам нужно отобразить результат работы файла blablabla.php в каком-либо шаблоне на форуме, и для этого по сути надо создать для этого свой небольшой аддон. Для этого надо осуществить следующие действия:

1. Создаем файл Listener.php следующего содержания:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
class MyAddOn_Listener
{
      public static function templateHook($hookName, &$contents, $params, XenForo_Template_Abstract $template) {
            if($hookName == 'phpcode') {
                  ob_start();
                  require_once('blablabla.php');
                  $contents .= ob_get_contents();
                  ob_end_clean();
            }
      }
}

2. Берем этот Listener.php и наш blablabla.php и ложим в папку Blablabla (надо создать) в путь_к_форуму/libary/

3. Переводим форум в режим отладки.

4. Идем в админку, -> разработка -> создать дополнение.

5. Заполняем всё как на моем рисунке, жмем «Сохранить дополнение».
blablabl.jpg
6. Теперь в админке по сути у нас есть плагин, который включается и выключается. Идем дальше.
Админка -> Разработка -> Обработчики событий -> Создать новый обработчик события.

7. Заполняем всё как у меня на рисунке, сохраняем
listener.jpg

8. Создаем новый шаблон, называем его например «myphpcode», со следующим содержимым:

1
2
<xen:hook name="phpcode">
</xen:hook>

9. Нам остается только выбрать нужное место в нужном шаблоне (где мы и собираемся всё использовать), и вставить туда:

1
<xen:include template="myphpcode" />



К записи есть 1 комментарий

Комментировать