This is an old revision of the document!
<?php defined('HOSTCMS') || exit('HostCMS: access denied.'); /** * observer. * @author KAD artem.kuts@gmail.com Core_Event::attach('Informationsystem_Item_Controller_Edit.onBeforeExecute', array('Informationsystem_Group_Observer', 'onBeforeExecute')); */ class Informationsystem_Group_Observer { static public function onBeforeExecute($object, $operation) { // ID информационной системы, для которой требуется производить подмену $informationsystem_id = 17; $siteID = CURRENT_SITE; $windowID = $operation[1]->getWindowId(); $_object = $object->getObject(); $modelName = $_object->getModelName(); $oSeparatorField = new Admin_Form_Entity_Separator(); if ($_object->informationsystem->id != $informationsystem_id) return; // Отображение формы, операция NULL if (is_null($operation[0]) || $operation[0] == '') { $oMainTab = $object->getTab('main'); $oChangedField = $oMainTab->getField("siteuser_id"); $oSiteusers = Core_Entity::factory('siteuser')->getAllBySite_id($siteID); $aSiteusers = array(); foreach ($oSiteusers as $oSiteuser) { $aSiteusers[$oSiteuser->id] = $oSiteuser->surname . " " . $oSiteuser->name . " " . $oSiteuser->patronymic; } $oHtmlSelect = Core::factory('Admin_Form_Entity_Select') ->name($oChangedField->name) ->value($oChangedField->value) ->caption("Пользователь") ->options(array(0 => "..") + $aSiteusers) ->style("width: 300px;"); ; $oMainTab->addAfter($oHtmlSelect, $oChangedField); $oMainTab->addAfter($oSeparatorField, $oChangedField); $oMainTab->delete($oChangedField); } } }