С помощью этого хука легко создать собственную область — страницу или действие.
Расположение
index.php (в корне форума)
call_integration_hook('integrate_actions', array(&$actionArray));
Хук принимает как параметр массив, в котором содержится список действий, доступных переменной $_REQUEST['action']
. Например, запись $actionArray['calendar'] = array('Calendar.php', 'CalendarMain')
означает, что при обработке действия calendar происходит вызов функции CalendarMain из файла Calendar.php.
Использование
Рассмотрим пример:
<?php
if (!defined('SMF'))
die('No direct access...');
class YourModName
{
// В этой функции подключаем используемые хуки
public function hooks()
{
add_integration_function('integrate_actions', __CLASS__ . '::actions#', false, __FILE__);
}
// Добавляем действие my_page для обработки адреса /index.php?action=my_page
public function actions(&$actions)
{
$actions['my_page'] = array($this, 'myPageAction');
}
// Эта функция вызывается при переходе по адресу /index.php?action=my_page
public function myPageAction()
{
// Здесь можно подключить свой шаблон и выполнить любые другие действия
print_r('Моя страница');
}
}
Хук пригодится как для добавления новых страниц и действий, так и для изменения уже созданных.