Поиск по множеству юзеров — различия между версиями
Alexh (обсуждение | вклад) |
Alexh (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | Это возможно осуществить при помощи макроса [http://help-dev.umi-cms.ru/catalog.search.html % catalog search() %], недокументированного параметра '4' (id типа данных) и | + | Это возможно осуществить при помощи макроса [http://help-dev.umi-cms.ru/catalog.search.html % catalog search() %], недокументированного параметра '4' (id типа данных) и макроса [http://help-dev.umi-cms.ru/users.list_users.html %users list_users()%] Для начала необходимо в том шаблоне, в котором Вы будете выводить поиск, прописать в блоке 'search block' |
<source lang="xml"> | <source lang="xml"> |
Версия 13:34, 27 января 2011
Это возможно осуществить при помощи макроса % catalog search() %, недокументированного параметра '4' (id типа данных) и макроса %users list_users()% Для начала необходимо в том шаблоне, в котором Вы будете выводить поиск, прописать в блоке 'search block'
action="/users/list_users/"
Пример:
<?php
$FORMS = Array();
$FORMS['search_block'] = <<<END
<form method="get" action="/users/list_users/">
<div>
<div style="padding-bottom:5px;">Фильтр по пользователям</div>
%lines%
<div style="clear:both;"></div>
</div>
Затем, в модуле Шаблоны данных, необходимо создать поля для Пользователей, по которым будет производиться поиск и поставить галочку "Использовать в фильтрах". Далее, там, где Вы хотите выводить поиск, необходимо прописать макрос вида (пример)
%users list_users()%
где, первый параметр: category_id - Id или путь (от корня сайта) к категории,в которой осуществляется поиск. В данном случае он обязательно должен быть пустым. Второй параметр: group_names - Имена групп свойств (разделенные пробелом), которые учавствуют в фильтре. третий параметр - шаблон, по которому формируется форма с фильтром (в нашем случае - /tpls/catalog/search.tpl) четвертый параметр - id типа данных (в данном случае именно он взаимодействует с макросом %users list_users%) .
Надо заметить, что подобная связка работает примерно с 3600-х билдов системы, так что, прежде чем использовать эти возможности обновите систему до предела.