Хук integrate_pre_load_theme

Этот хук появился в SMF 2.1 и предназначен для переопределении идентификатора темы на пользовательских страницах.

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

Load.php

call_integration_hook('integrate_pre_load_theme', array(&$id_theme));

В переменной $id_theme содержится идентификатор текущей темы оформления. Это может быть тема, заданная по умолчанию, либо тема, установленная внутри конкретного раздела, либо тема оформления для гостей.

Использование

Как подключить

Рассмотрим пример:

<?php

if (!defined('SMF'))
    die('No direct access...');

class YourModName
{
    // В этой функции подключаем используемые хуки
    public function hooks()
    {
        add_integration_function('integrate_pre_load_theme', __CLASS__ . '::preLoadTheme#', false, __FILE__);
    }

    public function preLoadTheme(&$id_theme)
    {
        // Вручную указываем ID нужной нам темы оформления
        $id_theme = 2;
        var_dump($id_theme);
    }
}

В примере выше мы вручную задали $id_theme = 2 и теперь на любой странице форума будет принудительно использоваться шаблон с соответствующим идентификатором. Данный хук пригодится авторам модов и тем оформления, позволяя, например, быстро включать нужный шаблон, не заходя в настройки.