BlockPropertyUpdate
Package | application.blocks |
---|---|
Inheritance | class BlockPropertyUpdate » Block » LsObject |
Since | 2.0 |
Source Code | /application/classes/blocks/BlockPropertyUpdate.class.php |
Обработка блока с редактированием свойств объекта
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
_aBehaviors | Список поведений в виде готовых объектов, формируется автоматически | LsObject | |
aBehaviors | array | Список поведений | LsObject |
aParams | array | Список параметров блока | Block |
sTemplate | string|null | Шаблон блока | Block |
Public Methods
Method | Description | Defined By |
---|---|---|
AddBehaviorHook() | Добавляет хук поведения | LsObject |
AttachBehavior() | Присоединяет поведение к объекту | LsObject |
DetachBehavior() | Отсоединяет поведение от объекта | LsObject |
Exec() | Запуск обработки | BlockPropertyUpdate |
GetBehavior() | Возвращает объект поведения по его имени | LsObject |
GetBehaviors() | Возвращает все объекты поведения | LsObject |
GetTemplate() | Возврашает шаблон блока | Block |
RemoveBehaviorHook() | Удаляет хук поведения | LsObject |
RunBehaviorHook() | Запускает хук поведения на выполнение | LsObject |
SetTemplate() | Устанавливает шаблон блока | Block |
__call() | Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля | LsObject |
__clone() | При клонировании сбрасываем поведения | LsObject |
__construct() | При создании блока передаем в него параметры | Block |
__get() | Обработка доступа к объекты поведения | LsObject |
Protected Methods
Method | Description | Defined By |
---|---|---|
GetParam() | Возвращает параметр по имени | Block |
PrepareBehaviors() | Инициализация поведений | LsObject |
Method Details
Exec()
method
public void Exec()
|
Source Code: /application/classes/blocks/BlockPropertyUpdate.class.php#33 (show)
public function Exec()
{
$sEntity = $this->GetParam('entity');
$oTarget = $this->GetParam('target');
$sTargetType = $this->GetParam('target_type');
if (!$oTarget) {
$oTarget = Engine::GetEntity($sEntity);
}
$aBehaviors = $oTarget->GetBehaviors();
foreach ($aBehaviors as $oBehavior) {
/**
* Определяем нужное нам поведение
*/
if ($oBehavior instanceof ModuleProperty_BehaviorEntity) {
/**
* Если в параметрах был тип, то переопределяем значение. Это необходимо для корректной работы, когда тип динамический.
*/
if ($sTargetType) {
$oBehavior->setParam('target_type', $sTargetType);
}
$aProperties = $this->Property_GetPropertiesForUpdate($oBehavior->getPropertyTargetType(),
$oTarget->getId());
$this->Viewer_Assign('aProperties', $aProperties);
break;
}
}
}
Запуск обработки