Контакты

Мы всегда готовы к встрече, но только по предварительной договоренности.

ул. Чапыгина, д.6-п, оф.19
Санкт-Петербург, Россия
+7 911 933-80-68
Пн.-Пт. 9:00-20:00
info@webevrika.ru
По всем вопросам

Вывод значений справочника в UMI-CMS

Вывод значений справочника в UMI-CMS

Популярный макрос, используемый почти в каждом проекте, если стандартный фильтр модуля "Каталог" по каким-то причинам нас не устраивает. Итак, нужно вывести все значения справочника для фильтра в каталоге.

В модуле КАТАЛОГ в customMacros.php добавляем метод:

public function getGuidedItemsForFilter($id_guide, $template, $filter_field) {
$arrPrivacies = umiObjectsCollection::getInstance() -> getGuidedItems($id_guide);
list($block_guide, $block_items) = def_module::loadTemplates("tpls/catalog/{$template}.tpl", "guide", "items");
$lines = array();
foreach ($arrPrivacies as $iObjectId=>$sObjectName) {
	$line_arr = array();
	$line_arr['id'] = $iObjectId;
	$line_arr['name'] = $sObjectName;
	$oGuideItem = umiObjectsCollection::getInstance()->getObject($iObjectId);
	$identifikator = $oGuideItem -> getValue('identifikator');
	$line_arr['field'] = $filter_field;
	$lines[] = def_module::parseTemplate($block_items, $line_arr);
}
$block_arr = array();
$block_arr['subnodes:items'] = $lines; 
return def_module::parseTemplate($block_guide, $block_arr);
}

В модуле Каталог создаем tpl-шаблон:

<?php
$FORMS = Array();
/* вывод  вариантов сортировки из справочника */ 
$FORMS['guide'] = <<<END 
% items % 
END; 

$FORMS['item'] = <<<END 
<a href="./?fields_filter[%value%]=% id %">% name %</a>  
END; 
?> 

Вызываем макрос:

% custom getGuidedItemsForFilter(id_справочника,'шаблон','zvanie') %

Добавлять комментарии могут только зарегистрированные пользователи.

Если Вы еще не зарегистрированы на сайте, Вы можете зарегистрироваться.

Войти