Свойства элементов информационной системы

#
Re: Свойства элементов информационной системы
) Подскажите как организовать проверку на существование полей?

чтобы следующий код, в случае несуществования вкладки не вызывал искл. ситуацию и прерывание выполнения скрипта

$oTab = $object->getTab($tab[$i]);
#
Re: Свойства элементов информационной системы
Не могу получить доступ к вкладкам Seo и Tags через $object->getTab, как это осуществить?

Я так понимаю проблема в том, что они на данном этапе еще не созданы, так как же тогда нам их скрыть?
Модератор
#
Re: Свойства элементов информационной системы
Вообще execute() вызывается уже после setObject() перед показом формы, получается сгенерированные новые вкладки уже должны быть.

31gorod писал(а):
чтобы следующий код, в случае несуществования вкладки не вызывал искл. ситуацию и прерывание выполнения скрипта

Добавили метод checkTab($tabName), файл выслан почтой.
#
Re: Свойства элементов информационной системы
Здравствуйте!

Хочу разобраться с хуками, а именно с изменением форм администрирования. По примеру выше сделал следующие действия:

Создал в папке "\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.
Авторизация