Хук integrate_pre_load_theme
Этот хук появился в SMF 2.1 и предназначен для переопределения идентификатора темы на пользовательских страницах.
Расположение⚓︎
Во входной переменной содержится идентификатор текущей темы оформления. Это может быть тема, заданная по умолчанию, либо тема, установленная внутри конкретного раздела, либо тема оформления для гостей.
Примечание
Под темой в данной статье подразумевается шаблон SMF. Не путайте с темами-топиками в разделах-досках.
Назначение⚓︎
Хук позволяет переопределить тему оформления перед её загрузкой, что полезно для создания пользовательских страниц или модов, требующих специфического дизайна.
Использование⚓︎
<?php
if (! defined('SMF'))
die('No direct access...');
class YourModName
{
// Подключаем используемые хуки
public function hooks(): void
{
add_integration_function('integrate_pre_load_theme', self::class . '::preLoadTheme#', false, __FILE__);
}
public function preLoadTheme(&$id): void
{
// Вручную указываем ID нужной нам темы оформления
$id = 2;
// var_dump($id); // Для отладки
}
}
В примере выше мы вручную задали $id_theme = 2 и теперь на любой странице форума будет принудительно использоваться шаблон с соответствующим идентификатором.
Данный хук пригодится авторам модов и тем оформления, позволяя, например, быстро включать нужный шаблон, не заходя в настройки.