Фильтр по начальным буквам названия товара в ИМ

#
Фильтр по начальным буквам названия товара в ИМ
Создал интернет магазин, состоящий из групп товаров. Группировка происходит по типу товара.
Хотелось бы сделать еще и буквенное меню (фильтр), т.е. список букв, при нажатии на которые мы выводим товары из всех групп, начинающиеся на эту букву. Как это можно реализовать?
Модератор
#
Re: Фильтр по начальным буквам названия товара в ИМ
proectsovstrah,
Принимаете букву, экранируете текст (ф-я quote_smart()), далее через внешние параметры для запроса $param['select'] указываете фильтрацию по LIKE 'Буква%' для поля "название товара".
#
Re: Фильтр по начальным буквам названия товара в ИМ
А можно поподробнее, или хотя бы без программистского жаргона, а то не понятно...
#
Re: Фильтр по начальным буквам названия товара в ИМ
Здравствуйте! Я это же спрашивала в теме "Общие вопросы по системе управления сайтом HostCMS" вчера:
http://hostcms.ru/forums/17/487/page-3/

У меня такой вариант: (вставляется в Типовые Динамические Страницы -> Интернет-Магазин, поле того, как создаеся соответствующая форма):

/* Ограничиваем по названию */
if (quote_smart (to_str ($_GET['name_part']))! = ""
{
$element['type'] = 0; // 0 — основное св-во, 1 — дополнительное
$element['name'] = 'shop_items_catalog_name';
$element['prefix'] = 'AND'; // префикс
$element['if'] = 'LIKE'; // Условие
$element['value'] = ' % quote_smart (to_str ($_GET['name'])) %';
$element['sufix'] = '';
$param['select'][] = $element;

$external_propertys['name'] = quote_smart (to_str ($_GET['part']));

/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}


Но не работае... Скажите, пожалуйста, это правильно?
Ошибка выводится на строку:
$element['value'] = ' % quote_smart (to_str ($_GET['name'])) %';
(не соответствует тип T_STRING)
Модератор
#
Re: Фильтр по начальным буквам названия товара в ИМ
brightside,
я внес изменения и выделил их жирным:
/* Ограничиваем по названию */
if (to_str($_GET['name_part']) != "")
{
$element['type'] = 0; // 0 — основное св-во, 1 — дополнительное
$element['name'] = 'shop_items_catalog_name';
$element['prefix'] = 'AND'; // префикс
$element['if'] = 'LIKE'; // Условие
$element['value'] = quote_smart(to_str ($_GET['name_part'])) . '%';
$element['sufix'] = '';
$param['select'][] = $element;

$external_propertys['name'] = to_str($_GET['name_part']);

/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}


P.S.  Мне непонятно, почему у Вас в 3-х местах GET-параметр имет 3 разных имени.
#
Re: Фильтр по начальным буквам названия товара в ИМ
Спасибо Заработало !

Скажите пожалуйста, а почему вы убрали в двух местах quote_smart? Разве не рекомендовано их использовать с точки зрения безопасности?
Модератор
#
Re: Фильтр по начальным буквам названия товара в ИМ
brightside,
quote_smart() используется для экранирования данных при передаче в запрос. В моменты сравнения quote_smart() не используется, т.к. в нем нет необходимости.
#
Re: Фильтр по начальным буквам названия товара в ИМ
А у кого-нибудь получилось реализовать такой же фильтр, но только для артикула товара? Спасите кто может, приведите пожалуйста рабочий пример ссылки с параметрами фильтра XSL шаблона.  
   
select=marking_of_goods=<xsl:value-of select="marking_of_goods" />

Что нужно добавить перед marking_of_goods, /shop/xsl_item, чтобы оно наконец заработало или я не там копаю?
Модератор
#
Re: Фильтр по начальным буквам названия товара в ИМ
pit-stop,
$element['name'] = 'shop_items_catalog_marking';
#
Re: Фильтр по начальным буквам названия товара в ИМ
Спасибо, фильтрует шикарно!

Скажите пожалуйста, возможно ли реализовать средствами системы Корпорация v5 .8.5 следующий функционал касающийся фильтрации:

1. Игнорирование знаков подчеркивания, тире и пробелов при фильтрации по артикулу/наименованию;
2. Внедрить фильтр для результатов поиска (поиск будет с ограничением по ИМ).

И, последний на сегодня вопрос, может и не по теме, но возможно, ответ на него будет интересен и другим участникам форума:
- Планируется ли расширение функционала имеющегося морфологического поиска, чтобы научить его искать только стопроцентные совпадения?

Для интернет-магазина торгующего бытовой техникой, а также для инфосистем , морфологический поиск имеет преимущество, учитывая массовое нежелание населения нашей планеты писать правильно .  А вот в сфере торговли автомобильными деталями, где номенклатура привязывается к артикулу, результаты поиска данного модуля приводят к замешательству, т.к. в результатах формируются всевозможные комбинации перестановок частей артикула. Данный вопрос колит в ребро, т.к. в зависимости от направления деятельности, в нашей сфере, объем номенклатуры колеблется от 5 тысяч до 3х миллионов позиций.
Как по мне, то жестких претензий к модулю поиска я не имею, и решил на первое время "перебиться" функциями фильтров, собственно, по этой причине и задал выше вопрос по поводу возможности внедрения фильтра для результатов поиска. Но вижу в этом существенный недостаток, заполнение которого, наверняка приведет к вам новых клиентов, в работе которых требуется точность совпадений.
Авторизация