Space Base Space Base
+7 928 008-80-89
ru
  • en
  • es
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  1. Библиотека
  2. Разное
  3. XenForo - выполнение собственного php-файла
logo

XenForo - выполнение собственного php-файла

14.08.2014

Задача: Для форумного движка XenForo организовать вызов и выполнение собственного php-скрипта с добавлением результата в шаблон страницы. Версия XenForo 1.1.4.

Статья для тех, кто пока не хочет вдаваться в подробности архитектуры и тонкостей программирования под данный движок. Рассматриваемое решение собрано и обобщено из материалов форумов, посвященных xenForo.

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

Теперь более подробно:

1. в директории /libary/ создаем новую папку myNewAddon, где создаем новый файл Listener.php со следующим кодом:

<?php
class myNewAddon_Listener {
public static function templateHook($hookName, &$contents, $params, XenForo_Template_Abstract $template) {
if ($hookName == 'my_php_include') {
ob_start();
// вместо my_php_file.php указываем нужный нам php или html файл с указанием директории
require_once(($_SERVER['DOCUMENT_ROOT'] . '/my_php_file.php');
$contents .= ob_get_contents();
ob_end_clean();
}
}
}

Стоит отдельно уточнить, что название папки (myNewAddon) должно совпадать с названием класса (myNewAddon_Listener). Из-за разницы в названиях может быть ошибка.

2. далее необходимо переключить форум в режим отладки. В файле /libary/config.php меняем:

$config['debug'] = false;

на:

$config['debug'] = true;

Теперь в меню панели администратора появится дополнительный раздел «Разработка».

3. Создаем новое дополнение: в админке Разработка > Создать дополнение. Заполняем поля:

ID дополнения: произвольно

Заголовок: название своего дополнения, например myNewAddon

Сохраняем, закрываем.

4. Далее Админка > Разработка > Обработчики событий > Создать новый обработчик события. В форме заполняем поля:

Обрабатывать событие: template_hook

Выполнить обработчик: myNewAddon_Listener :: templateHook

Дополнение: myNewAddon

Сохраняем, закрываем. После этого режим разработки уже не потребуется и его можно отключить (пункт 2).

5. Создаем новый шаблон Админка > Внешний вид > Шаблоны > Создать новый шаблон. Заполняем поля:

Имя шаблона: my_php_code

шаблон без заголовка:

<xen:hook name="my_php_include"></xen:hook>

6. Добавляем код:

<xen:include template="my_php_code" />

в любое нужное место, точнее в любой шаблон Админка > Внешний вид > Шаблоны.

Стоит внимательно отнестись к названиям классов и создаваемых директорий их название должны совпадать.

Другие материалы:

Что такое хостинг?


Как перенести сайт из Wix


Что такое домен и для чего он нужен?


Написать комментарий

Комментарии

В комментариях запрещено публиковать рекламные материалы. Все сообщения оправляются на модерацию и будут опубликованы, если не нарушают правил сайта после проверки.


коммент.

Разработка сайтов

Корпоративный сайт
Интернет-магазин
Лендинг - одностраничный сайт
Сайт-визитка
Сайт-портфолио

Проектирование

Прототип, UX-дизайн

Дизайн

UI-дизайн
Логотип

+54 911 2801-4950

info@space-base.net
+7 928 008-80-89

Web-сайты для успешного бизнеса

Web-сайты для успешного бизнеса

Главная Услуги Портфолио События Библиотека Контакты
+7 928 008-80-89 Меню
Политика в отношении обработки персональных данных © Copyright 2014 - | Space-Base

Лучшее время начать свой проект - Сейчас!

Выбраны опции:

Отправить сообщение на:

Telegram WhatsApp

Отправляя сообщение, вы даете свое согласие на
обработку песональных данных