Хук integrate_post_end
Хук integrate_post_end позволяет изменять форму редактирования сообщений, а также загружать свои скрипты на странице редактирования.
Расположение⚓︎
Как видим, хук не имеет параметров; в нем доступны для использования любые переменные, определённые до его вызова.
Назначение⚓︎
Хук предоставляет возможность вклиниться в код движка непосредственно в конце отрисовки страницы с формой редактирования сообщения на форуме. В частности, с его помощью вы можете получить доступ к массиву $context['posting_fields'], содержащему набор полей формы.
Использование⚓︎
<?php
if (! defined('SMF'))
die('No direct access...');
class YourModName
{
// Подключаем используемые хуки
public function hooks(): void
{
add_integration_function('integrate_post_end', self::class . '::postEnd#', false, __FILE__);
}
public function postEnd(): void
{
global $context, $modSettings;
$context['posting_fields']['show_something']['label']['text'] = 'Показать кое-что...';
$context['posting_fields']['show_something']['input'] = [
'type' => 'checkbox',
'attributes' => [
'id' => 'show_something',
'checked' => ! empty($modSettings['show_something'])
]
];
// Любой другой ваш код
}
}
Подробнее о форме отправки сообщения можно почитать по ссылке.
Благодаря этому хуку, например, в моде Optimus в форму редактирования сообщений добавлены поля «Описание» и «Ключевые слова».