Хук integrate_actions

С помощью этого хука легко создать собственную область — страницу или действие.

Расположение

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('Моя страница');
    }
}

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