2014-07-14 11:21:06 +03:00
|
|
|
|
<?php
|
2014-10-08 08:20:29 +03:00
|
|
|
|
/*
|
2014-09-25 17:37:43 +03:00
|
|
|
|
* LiveStreet CMS
|
|
|
|
|
* Copyright © 2013 OOO "ЛС-СОФТ"
|
|
|
|
|
*
|
|
|
|
|
* ------------------------------------------------------
|
|
|
|
|
*
|
|
|
|
|
* Official site: www.livestreetcms.com
|
|
|
|
|
* Contact e-mail: office@livestreetcms.com
|
|
|
|
|
*
|
|
|
|
|
* GNU General Public License, version 2:
|
|
|
|
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
|
|
|
*
|
|
|
|
|
* ------------------------------------------------------
|
|
|
|
|
*
|
|
|
|
|
* @link http://www.livestreetcms.com
|
|
|
|
|
* @copyright 2013 OOO "ЛС-СОФТ"
|
|
|
|
|
* @author Maxim Mzhelskiy <rus.engine@gmail.com>
|
|
|
|
|
*
|
|
|
|
|
*/
|
2014-07-14 11:21:06 +03:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Обработка блока с редактированием категорий объекта
|
|
|
|
|
*
|
2014-10-08 08:20:29 +03:00
|
|
|
|
* @package application.blocks
|
2014-07-15 19:23:00 +03:00
|
|
|
|
* @since 2.0
|
2014-07-14 11:21:06 +03:00
|
|
|
|
*/
|
2014-10-08 11:49:34 +03:00
|
|
|
|
class BlockCategoryUpdate extends Block
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Запуск обработки
|
|
|
|
|
*/
|
|
|
|
|
public function Exec()
|
|
|
|
|
{
|
|
|
|
|
$sEntity = $this->GetParam('entity');
|
|
|
|
|
$oTarget = $this->GetParam('target');
|
|
|
|
|
$sTargetType = $this->GetParam('target_type');
|
2014-07-14 11:21:06 +03:00
|
|
|
|
|
2014-10-08 11:49:34 +03:00
|
|
|
|
if (!$oTarget) {
|
|
|
|
|
$oTarget = Engine::GetEntity($sEntity);
|
|
|
|
|
}
|
2014-07-14 11:21:06 +03:00
|
|
|
|
|
2014-10-08 11:49:34 +03:00
|
|
|
|
$aBehaviors = $oTarget->GetBehaviors();
|
|
|
|
|
foreach ($aBehaviors as $oBehavior) {
|
|
|
|
|
if ($oBehavior instanceof ModuleCategory_BehaviorEntity) {
|
|
|
|
|
/**
|
|
|
|
|
* Если в параметрах был тип, то переопределяем значение. Это необходимо для корректной работы, когда тип динамический.
|
|
|
|
|
*/
|
|
|
|
|
if ($sTargetType) {
|
|
|
|
|
$oBehavior->setParam('target_type', $sTargetType);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* Нужное нам поведение - получаем список текущих категорий
|
|
|
|
|
*/
|
|
|
|
|
$this->Viewer_Assign('categoriesSelected', $oBehavior->getCategories(), true);
|
|
|
|
|
/**
|
|
|
|
|
* Загружаем параметры
|
|
|
|
|
*/
|
|
|
|
|
$aParams = $oBehavior->getParams();
|
|
|
|
|
$this->Viewer_Assign('params', $aParams, true);
|
|
|
|
|
/**
|
|
|
|
|
* Загружаем список доступных категорий
|
|
|
|
|
*/
|
|
|
|
|
$this->Viewer_Assign('categories',
|
|
|
|
|
$this->Category_GetCategoriesTreeByTargetType($oBehavior->getCategoryTargetType()), true);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-10-29 11:50:07 +02:00
|
|
|
|
|
|
|
|
|
$this->SetTemplate('components/field/field.category.tpl');
|
2014-10-08 11:49:34 +03:00
|
|
|
|
}
|
2014-07-14 11:21:06 +03:00
|
|
|
|
}
|