1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-26 03:30:48 +03:00

Доработка категорий

This commit is contained in:
Mzhelskiy Maxim 2014-07-14 20:27:07 +07:00
parent 42d48aeb55
commit ead83514e9
2 changed files with 44 additions and 2 deletions

View file

@ -454,5 +454,47 @@ class ModuleCategory extends ModuleORM {
return $this->GetTargetIdsByCategoriesId($aCategoryId,$sTargetType,$iPage,$iPerPage);
}
/**
* Создает новый тип объекта в БД для категорий
*
* @param string $sType
* @param string $sTitle
* @param array $aParams
* @param bool $bRewrite
*
* @return bool|ModuleCategory_EntityType
*/
public function CreateTargetType($sType,$sTitle,$aParams=array(),$bRewrite=false) {
/**
* Проверяем есть ли уже такой тип
*/
if ($oType=$this->GetTypeByTargetType($sType)) {
if (!$bRewrite) {
return false;
}
} else {
$oType=Engine::GetEntity('ModuleCategory_EntityType');
$oType->setTargetType($sType);
}
$oType->setState(self::TARGET_STATE_ACTIVE);
$oType->setTitle(htmlspecialchars($sTitle));
$oType->setParams($aParams);
if ($oType->Save()) {
return $oType;
}
return false;
}
/**
* Отключает тип объекта для категорий
*
* @param string $sType
* @param int $iState self::TARGET_STATE_NOT_ACTIVE или self::TARGET_STATE_REMOVE
*/
public function RemoveTargetType($sType,$iState=self::TARGET_STATE_NOT_ACTIVE) {
if ($oType=$this->GetTypeByTargetType($sType)) {
$oType->setState($iState);
$oType->Save();
}
}
}

View file

@ -130,12 +130,12 @@ class ModuleCategory_EntityCategory extends EntityORM {
}
/**
* Возвращает URL категории
* Этот метод можно переопределить из плагина и возвращать свой URL для нужного типа категорий
* Этот метод необходимо переопределить из плагина и возвращать свой URL для нужного типа категорий
*
* @return string
*/
public function getWebUrl() {
return Router::GetPath('category').$this->getUrlFull().'/';
return null;
}
/**
* Возвращает объект типа категории с использованием кеширования на время сессии