コード例 #1
0
 protected function getCurrentCountSelection()
 {
     $sel = kFilters::getInstance($this->catalogId)->getSelectionObject();
     kFilters::getInstance($this->catalogId)->applySelectedCountFilters($sel);
     return $sel;
 }
コード例 #2
0
    /**
     * Получить значения для ссылочного поля у страниц в категории
     */
    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;
    }
コード例 #3
0
ファイル: kFilters.php プロジェクト: kibal4iw/kfilters
 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;
 }