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

#
Свойства элементов информационной системы
Когда-то обсуждался вопрос про редактирование свойств элементов ИС.
В 5-ой версии было возможность добавлять дополнительные свойства, но удалять уже существующие нельзя.
В 6-ой версии ничего не изменилось?

Такая задача встаёт регулярно - заказчик сильно пугается, увидев 20+ полей при добавлении новости.
Исправляли прям в исходниках, но, понятное дело, это не выход.
Модератор
#
Re: Свойства элементов информационной системы
Такая возможность есть. Для возможности изменения поведения нужный контроллеров редактирования Вы можете использовать различные события, которые вызывает типовой контроллер. Событие формирует по схеме "Имя_класса.Имя_события", например "Shop_Controller_Edit.onBeforeExecute"
Порядок действий:
1. В файле bootstrap.php навешиваем нового наблюдателя на событие:
Core_Event::attach('Shop_Controller_Edit.onBeforeExecute', array('Shop_Controller_Edit_Observer', 'onBeforeExecute'));

2. Размещаем файл observer.php в директории modules/shop/controller/edit/ Имя файла и директория зависит от имени самого наблюдателя!
3. В этом файле указываем следующий код, который удаляет поле "Описание" для формы редактирования интернет-магазина:
<?php

defined('HOSTCMS') || exit('HostCMS: access denied.');

/**
* Observer
*
* @package HostCMS
* @version 6.x
* @author Hostmake LLC
* @copyright © 2005-2012 ООО "Хостмэйк" (Hostmake LLC), http://www.hostcms.ru
*/
class Shop_Controller_Edit_Observer
{
   static public function onBeforeExecute($object, $operation)
   {
      // Отображение формы, операция NULL
      if (is_null($operation))
      {
         $oMainTab = $object->getTab('main');
         $oMainTab->delete($object->getField('description'));
      }
   }
}
#
Re: Свойства элементов информационной системы
Но через панель управления этого всё-равно не сделать?
Модератор
#
Re: Свойства элементов информационной системы
31gorod,
через панель не сделать, как Вы себе это представляете? Визуально эти формы не строятся, они создаются в контроллере. Вы правили код, мы предлагаем элегантное решение по изменению через события.
#
Re: Свойства элементов информационной системы
Опа!
так вот как примерно мне реализовать 3 картинки ))))
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Свойства элементов информационной системы
HostCMS,

предложенный вами способ не работает. Все выполнено точно согласно инструкции. Поле «Описание» все также отображается
..В файла bootstrap.php почему то не было закрывающего тега "?>"..

аналогично не удается реализовать "Пример добавления своего тега в XML всех объектов Shop_Item" данный вами на странице http://www.hostcms.ru/forums/2/7123/
Модератор
#
Re: Свойства элементов информационной системы
31gorod,
1. Загрузите файл http://www.hostcms.ru/download/6/HostCMS.Update_6.0.0.tar.gz
из него обновите /admin/ и /modules/ за исключением modules/core/config
Если проблема сохранится, обратитесь в поддержку с данными доступа по ФТП.
2. Закрывающего тега там быть и не должно.
#
Re: Свойства элементов информационной системы
2. Вам виднее

Обновил, «Пример добавления своего тега в XML всех объектов Shop_Item» заработал. Однако поле «Описание» все также отображается. Направил запрос в поддержку.
#
Re: Свойства элементов информационной системы
Подскажите как удалить вкладку полностью или отключить отображение?
А также можно просто отключить(сделать скрытым) поле? А то при его удалении значение теряется после изменения
Модератор
#
Re: Свойства элементов информационной системы
31gorod,
посмотрите в исходном коде операции с закладками, например по слову getTab. Вы получите нужную вкладку, потом можно для нее active указать 0.
Авторизация