protected function getCurrentCountSelection() { $sel = kFilters::getInstance($this->catalogId)->getSelectionObject(); kFilters::getInstance($this->catalogId)->applySelectedCountFilters($sel); return $sel; }
/** * Получить значения для ссылочного поля у страниц в категории */ protected function getRelationValues($oField) { list($sColumn, $iFieldId, $sActivePagesSubquery, $sCustomFiltersSubquery) = $this->getPreparedSQLValues($oField); if (!$sColumn) { return array(); } $sql = <<<SQL \t\t\tSELECT DISTINCT {$sColumn} FROM `{$this->sContentTable}` \t\t\tWHERE `field_id` = {$iFieldId} {$sActivePagesSubquery} {$sCustomFiltersSubquery} SQL; $result = l_mysql_query($sql); $arResult = array(); while (list($rel_value) = mysql_fetch_row($result)) { if (is_null($rel_value)) { if (kFilters::getInstance($this->catalogId)->customLogic->relationNullValue($oField) !== false) { $arResult[0] = array("id" => '', "value" => kFilters::getInstance($this->catalogId)->customLogic->relationNullValue($oField)); } } else { $obj = false; if ($sColumn == 'rel_val') { $obj = umiObjectsCollection::getInstance()->getObject($rel_value); } elseif ($sColumn == 'tree_val') { $obj = umiHierarchy::getInstance()->getElement($rel_value); } if (!$obj) { continue; } $arResult[$obj->getName()] = array("id" => $rel_value, "value" => $obj->getName()); } } $arKeys = array_keys($arResult); sort($arKeys); $arSorted = array(); foreach ($arKeys as $arResultKey) { $arSorted[] = $arResult[$arResultKey]; } return $arSorted; }
public function getSelectionObject() { $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("catalog", "object")->getId(); $sel = new umiSelection(); $sel->setElementTypeFilter(); $sel->addElementType($hierarchy_type_id); $sel->setHierarchyFilter(); $sel->addHierarchyFilter($this->catalogId, 1); $sel->setPermissionsFilter(); $sel->addPermissions(); //add custom filters kFilters::getInstance($this->catalogId)->applyCustomCountFilters($sel); return $sel; }