ModuleProperty_EntityValueTypeTags
Package | application.modules.property |
---|---|
Inheritance | class ModuleProperty_EntityValueTypeTags » ModuleProperty_EntityValueType » Entity » LsObject |
Since | 2.0 |
Source Code | /application/classes/modules/property/entity/ValueTypeTags.entity.class.php |
Объект управления типом tags
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
_aBehaviors | Список поведений в виде готовых объектов, формируется автоматически | LsObject | |
_aData | array | Данные сущности, на этот массив мапятся методы set* и get* | Entity |
aBehaviors | array | Список поведений | LsObject |
aValidateErrors | array | Список ошибок валидации в разрезе полей, например | Entity |
aValidateRules | array | Список правил валидации полей | Entity |
oValue | ModuleProperty_EntityValueType | ||
sPrimaryKey | null|string | Имя поля с первичным ключом в БД | Entity |
sValidateScenario | string | Сценарий валиадции полей | Entity |
Public Methods
Method | Description | Defined By |
---|---|---|
AddBehaviorHook() | Добавляет хук поведения | LsObject |
AttachBehavior() | Присоединяет поведение к объекту | LsObject |
DetachBehavior() | Отсоединяет поведение от объекта | LsObject |
GetBehavior() | Возвращает объект поведения по его имени | LsObject |
GetBehaviors() | Возвращает все объекты поведения | LsObject |
Init() | Метод инициализации сущности, вызывается при её создании | Entity |
RemoveBehaviorHook() | Удаляет хук поведения | LsObject |
RunBehaviorHook() | Запускает хук поведения на выполнение | LsObject |
_Validate() | Выполняет валидацию данных сущности | Entity |
__call() | Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля | Entity |
__clone() | При клонировании сбрасываем поведения | LsObject |
__construct() | Если передать в конструктор ассоциативный массив свойств и их значений, то они автоматом загрузятся в сущность | Entity |
__get() | Обработка доступа к объекты поведения | LsObject |
_addValidateError() | Добавляет для поля ошибку в список ошибок | Entity |
_clearValidateErrors() | Очищает список всех ошибок или для конкретного поля | Entity |
_createValidators() | Создает и возвращает список валидаторов для сущности | Entity |
_getData() | Получает массив данных сущности | Entity |
_getDataArray() | Рекурсивное преобразование объекта и вложенных объектов в массив | Entity |
_getDataOne() | Возвращает данные по конкретному полю | Entity |
_getPrimaryKey() | Получение первичного ключа сущности (ключ, а не значение!) | Entity |
_getPrimaryKeyValue() | Возвращает значение первичного ключа/поля | Entity |
_getValidateError() | Возвращает первую ошибку для поля или среди всех полей | Entity |
_getValidateErrors() | Возвращает список ошибок для всех полей или одного поля | Entity |
_getValidateRules() | Возвращает список правил для валидации | Entity |
_getValidateScenario() | Возвращает текущий сценарий валидации | Entity |
_getValidators() | Возвращает список валидаторов с учетом текущего сценария | Entity |
_hasValidateErrors() | Проверяет есть ли ошибки валидации | Entity |
_setData() | Устанавливает данные сущности | Entity |
_setDataSafe() | Устанавливает данные, но только те, которые есть в $this->aValidateRules | Entity |
_setValidateScenario() | Устанавливает сценарий валидации | Entity |
beforeSaveValue() | Дополнительная обработка перед сохранением значения | ModuleProperty_EntityValueTypeTags |
getParamsDefault() | ModuleProperty_EntityValueType | |
getTagsArray() | ModuleProperty_EntityValueTypeTags | |
getValidateRulesDefault() | ModuleProperty_EntityValueType | |
getValueForDisplay() | ModuleProperty_EntityValueTypeTags | |
getValueForForm() | ModuleProperty_EntityValueType | |
getValueObject() | ModuleProperty_EntityValueType | |
prepareParamsRaw() | ModuleProperty_EntityValueType | |
prepareValidateRulesRaw() | ModuleProperty_EntityValueTypeTags | |
removeValue() | ModuleProperty_EntityValueTypeTags | |
resetAllValue() | ModuleProperty_EntityValueType | |
setValue() | ModuleProperty_EntityValueTypeTags | |
setValueObject() | ModuleProperty_EntityValueType | |
validate() | ModuleProperty_EntityValueTypeTags |
Protected Methods
Method | Description | Defined By |
---|---|---|
PrepareBehaviors() | Инициализация поведений | LsObject |
validateStandart() | ModuleProperty_EntityValueType |
Method Details
beforeSaveValue()
method
public void beforeSaveValue()
|
Source Code: /application/classes/modules/property/entity/ValueTypeTags.entity.class.php#51 (show)
public function beforeSaveValue()
{
/**
* Заливаем теги в отдельную таблицу
*/
if ($aTags = $this->getTagsArray()) {
$oValue = $this->getValueObject();
foreach ($aTags as $sTag) {
$oTag = Engine::GetEntity('ModuleProperty_EntityValueTag');
$oTag->setPropertyId($oValue->getPropertyId());
$oTag->setTargetType($oValue->getTargetType());
$oTag->setTargetId($oValue->getTargetId());
$oTag->setText($sTag);
$oTag->Add();
}
}
}
Дополнительная обработка перед сохранением значения
getTagsArray()
method
public void getTagsArray()
|
Source Code: /application/classes/modules/property/entity/ValueTypeTags.entity.class.php#69 (show)
public function getTagsArray()
{
$sTags = $this->getValueObject()->getValueVarchar();
if ($sTags) {
return explode(',', $sTags);
}
return array();
}
getValueForDisplay()
method
public void getValueForDisplay()
|
Source Code: /application/classes/modules/property/entity/ValueTypeTags.entity.class.php#31 (show)
public function getValueForDisplay()
{
return htmlspecialchars($this->getValueObject()->getValueVarchar());
}
prepareValidateRulesRaw()
method
public void prepareValidateRulesRaw($aRulesRaw)
| ||
$aRulesRaw |
Source Code: /application/classes/modules/property/entity/ValueTypeTags.entity.class.php#78 (show)
public function prepareValidateRulesRaw($aRulesRaw)
{
$aRules = array();
$aRules['allowEmpty'] = isset($aRulesRaw['allowEmpty']) ? false : true;
if (isset($aRulesRaw['count']) and ($iCount = (int)$aRulesRaw['count']) > 0) {
$aRules['count'] = $iCount;
}
return $aRules;
}
removeValue()
method
public void removeValue()
|
Source Code: /application/classes/modules/property/entity/ValueTypeTags.entity.class.php#89 (show)
public function removeValue()
{
$oValue = $this->getValueObject();
/**
* Удаляем теги из дополнительной таблицы
*/
if ($aTags = $this->Property_GetValueTagItemsByFilter(array(
'property_id' => $oValue->getPropertyId(),
'target_id' => $oValue->getTargetId()
))
) {
foreach ($aTags as $oTag) {
$oTag->Delete();
}
}
}
setValue()
method
public void setValue($mValue)
| ||
$mValue |
Source Code: /application/classes/modules/property/entity/ValueTypeTags.entity.class.php#41 (show)
public function setValue($mValue)
{
$this->resetAllValue();
$oValue = $this->getValueObject();
$oValue->setValueVarchar($mValue ? $mValue : null);
}
validate()
method
public void validate()
|
Source Code: /application/classes/modules/property/entity/ValueTypeTags.entity.class.php#36 (show)
public function validate()
{
return $this->validateStandart('tags');
}