Здравствуйте!
Хочу разобраться с хуками, а именно с изменением форм администрирования. По примеру выше сделал следующие действия:
Создал в папке "\www\modules\shop\controller\" директорию edit, в неё положил файл observer.php следующего содержания:
<?php
defined('HOSTCMS') || exit('HostCMS: access denied.');
class Shop_Controller_Edit_Observer
{
static public function onBeforeExecute($object, $operation)
{
if (is_null($operation))
{
$oMainTab = $object->getTab('main');
$oMainTab->delete($object->getField('description'));
}
}
}
В корне сайта есть файл bootstrap.php в нем после строк
if (Core_Auth::logged())
{
// Observers
Core_Event::attach('Xsl_Processor.onBeforeProcess', array('Xsl_Processor_Observer', 'onBeforeProcess'));
Core_Event::attach('Xsl_Processor.onAfterProcess', array('Xsl_Processor_Observer', 'onAfterProcess'));
Core_Event::attach('Core_Cache.onBeforeGet', array('Core_Cache_Observer', 'onBeforeGet'));
Core_Event::attach('Core_Cache.onAfterGet', array('Core_Cache_Observer', 'onAfterGet'));
Core_Event::attach('Core_Cache.onBeforeSet', array('Core_Cache_Observer', 'onBeforeSet'));
Core_Event::attach('Core_Cache.onAfterSet', array('Core_Cache_Observer', 'onAfterSet'));
}
Добавил строку:
Core_Event::attach('Shop_Controller_Edit.onBeforeExecute', array('Shop_Controller_Edit_Observer', 'onBeforeExecute'));
Захожу на страницу редактирования Интернет-магазина, поле с описанием всё равно отображается. В чем моя ошибка? Версия CMS 6.0.6 скачивал сегодня с сайта.
Вообще задача будет поменять форму редактирования элемента, я так понимаю надо будет вешать хуки на Shop_Item_Controller_Edit.