Неправильная работа фильтра каталога в 3,14beta

Issue #61 open
Former user created an issue

При вставке в карточку товара в метку вывода фильтра списка товаров с блоком

<!-- @list -->                  
%pages%

<!-- @pages -->
            %first%
            %last%
<!-- @page_first -->
<a href="%link%" >%page%</a>  
<!-- @page_last -->
<a href="%link%" >%page%</a>  

Товар в карточку выводится второй раз. Вот http://forum.santafox.ru/index.php?topic=3705.0 Сообщения от KIO.

%item_id% в шаблоне отсутствует.

После комментирования кода https://bitbucket.org/alex_wdmg/santafox.cms/diff/modules/catalog/catalog.class.php?diff2=dc11aa60497f&at=custom_fields

все работает как в 3,13а

Comments (12)

  1. Nikolai Latskov

    да удалять надо это, уже сталкивались не первый раз ... у меня надо было для чекбоксов ID присвоить, кроме как %item_id% ничего не приходило в голову, в результате в карточке товара вместо формы фильтра открывалась карточка товара

  2. Alexsander Vyshnyvetskyy

    Это из-за ЧПУ внедрено. Смысл в том, что у нас ЧПУ адрес может содержат и категорию в построении и сам товар (для СЕО), например: http://unideck.com.ua/catalog/soputstvuyushchie-tovary-c9/mini-moyki-k-7-i606.html

    Т.е., чтобы цель была достигнута и вывелся собственно товар, нужно отсечь выборку по фильтру на начальном этапе и показать карточку, но при этом сохранить путь категории в ЧПУ.

    Вопрос: нужно чтобы %item_id% в шаблоне присутствовал или чтобы карточка товара не выводилась второй раз!? Уточните вопросы.

    UP^ Вы строите выборку по фильтру из самой карточки товара что ли?

  3. Bubek

    Как я понял, человек вывел на метку в карточке товара фильтр, для создании навигации "Предыдущий товар - Следующий товар" http://forum.santafox.ru/index.php?topic=1539.msg10142#msg10142 И в результате действий фильтра должна были отображаться в уже настроенной карточке товара только пагинация. А отображалось 2 товара. Тот что и должен быть в карточке и второй т.к. сказать неправильный

  4. Nikolai Latskov

    фильтр выводился в виде формы со свойствами товаров, используется шаблон вывода списка товаров, ... в самой форме есть чекбоксы, которые при верстке должны быть индивидуальные, т.е. им надо присвоить ID , для этого используется %item_id% ... но, заходя на карточку товара, у нас вместо фильтра открывался шаблон карточки товара, хотя сам фильтр - это шаблон списка товаров

  5. Alexsander Vyshnyvetskyy

    Сделайте var_dump($_GET) при наблюдении ошибки. Там есть itemid!? А он скорее всего есть, т.к. код, на который вы указали отрабатывается в случае, если itemid был передан (например, просмотр товара).

    Логика работы следующая: если вызвана выборка (передан фильтр) - строится список товаров, если передан itemid - выводится карточка товара. Это сделано для того, чтобы можно было одним методом на одной странице по одной метке вывести, либо список по выборке, либо конкретный товар. В вашем же случае, такое ощущение, что вы пытаетесь строить сам "фильтр" из "выборки по внутреннему фильтру"!??

  6. Nikolai Latskov

    Да, itemid передается, только мне это знание никак не поможет :).

    На метку на странице действительно выводится "фильтр" из "выборки по внутреннему фильтру" , обычный запрос size != [dgdg] GROUP (size) , который автоматически формирует все существующие объемы у всех товаров. Это удобно для контент-менеджера, который импортнул товар в каталог, и все фильтры по свойствам товара автоматически появились на странице вывода товаров (не важно, запахи, объемы, цвета и т.д). Или это как-то по другому надо делать? вручную?

  7. Alexsander Vyshnyvetskyy

    Вообще да, по другому)) В вашей ситуации Вы можете просто закомментировать код.

    Ещё, попробуйте новое публичное действие "Вывести форму внешнего фильтра". Там можно настроить вывод опций фильтра для каждой отдельной группы товаров в АИ при условии, что товарные группы имеют каждая "свою" категорию по-умолчанию.

  8. Nikolai Latskov

    еще бы кто объяснил как пользоваться "Вывести форму внешнего фильтра"

  9. Alexsander Vyshnyvetskyy

    Вешаете действие на метку, в настройка действия указываете шаблон outer_filter.html, верстаете его предварительно под свой дизайн. Далее, в админке, в настройках товарных групп или общих свойствах отмечаете - отображать или нет ту или иную опцию фильтра.

    P/s^ Шаблон outer_filter.html только что выложил в репозиторий. Почему то не отправился при пулл-реквесте, видимо игнорирование так настроено.

  10. Log in to comment