В системных шаблонах доступен хук backend_page_edit с опциями:
backend_page_edit.%plugin_id%.action_button_li - данный хук работает, и выводится в верхнем меню настроек страницы
backend_page_edit.%plugin_id%.section - этот хук не работает, где должен выводиться не понятно
backend_page_edit.%plugin_id%.settings_section - этот хук не работает, но должен выводиться в настройках страницы
Данные хук работает в приложениях Сайт, Блог и Магазин.
Предлагаю включить в обновление работоспособность опций settings_section и section.
А также необходимо добавить хук page_save для сохранения данных плагинов страниц в методе waPageActions::saveAction(). Данные хуки будут доступны для всех выше перечисленных приложений!
Примерно тут:
if ($id) {
$is_new = false;
$old = $page_model->getById($id);
$data['full_url'] = substr($old['full_url'], 0, -strlen($old['url'])).$data['url'];
if ($old['full_url'] && substr($old['full_url'], -1, 1) != '/') {
$old['full_url'] .= '/';
}
// save to database
if (!$page_model->update($id, $data)) {
$this->displayJson(array(), _ws('Error saving web page'));
return;
}
$this->logAction('page_edit', $id);
$childs = $page_model->getChilds($id);
if ($childs) {
$page_model->updateFullUrl($childs, $data['full_url'], $old['full_url']);
}
////////////////////////// Хук Сохранения данных плагинов
wa()->event('page_save', $data);
/////////////////////////
9 комментариев
хук backend_page_edit.%plugin_id%.settings_section и хук backend_page_edit.%plugin_id%.section походу не системный, а мой))) На другой установке фреймворка я их не нашел.
я их раньше сам наверно внес! В общем прошу добавить!
В текущей версии они уже есть https://github.com/webasyst/webasyst-framework/blo... но в шаблонах вызова пока не нашел.
отправил вам запрос на добавление в новую версию)
А вообще долго решается необходимость добавления хуков?
По мере накопления и реализации. Если отправите pull request в github возможно будет несколько быстрее.
Спасибо!
https://github.com/webasyst/webasyst-framework/pul...
Сделал коммит хуков.
В новых версиях фреймворка вместо backend_page_edit.%plugin_id%.settings_section теперь используется page_edit
Плюсую. Хуки для страниц были бы очень полезны.