Перейти к содержимому


Фотография
- - - - -

Не срабатывает ограничение фильтра определёнными категориями.


Лучший Ответ SmetDenis , 05 December 2013 - 19:25

да, внутри teaser есть условие запрета вывода материалов по условию
 

Как я понимаю, это условие задается через отдельный элемент?

 

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

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 11

#1 .polega.

.polega.

Отправлено 02 December 2013 - 11:36

У меня категории организованы таким образом. Есть родительская - "Сайт" (у неё ИД=24) и есть дочерние "Квартиры", "Дома" и т.д. screenshot_ 2013-12-02 12.17.14.jpg

Объектов в категории "Сайт" несколько десятков, а в дочерних - сотни. Один объект может быть и в категории "Сайт" и в категории "Участки"

Хочется ограничить поиск таким образом, что-бы выбирались только те объекты, которые есть в категории "Сайт".

Допусти выбираем "Участки", но в результатах поиска отображаются только те, которые есть в категории "Участки" и они-же есть в категории "Сайт".

Делаю таким образом: screenshot_ 2013-12-02 12.13.33.jpg

Добавляю скрытое поле, где принудительно указан ИД (24).

Не работает. Фильтр вообще становится неработоспособным, выводит всё подряд.

Логика в модуле вывода фильтра стоит "И".

Если убрать дополнительное скрытое поле, поиск работает, но выбирает много лишних объектов, которые есть в категории "Участки". Они мне не нужны.

Что я делаю не так?


  • 0

#2 Sliapy

Sliapy

Отправлено 02 December 2013 - 12:41

На сколько я помню, нужно использовать элемент ядра Item Category.


Сообщение отредактировал Sliapy: 02 December 2013 - 12:42

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 .polega.

.polega.

Отправлено 02 December 2013 - 18:03

Так я для категорий и использую элемент ядра - Categories

Другого элемента ядра, который бы имел отношение к категориям, у меня нет.

Вот перечень:

screenshot_ 2013-12-02 19.00.15.jpg

 


  • 0

#4 Sliapy

Sliapy

Отправлено 02 December 2013 - 18:39

Видимо, в разных версиях Zoo этот элемент имеет разное название. Тогда все должно работать. Уточню у разработчиков.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 .polega.

.polega.

Отправлено 03 December 2013 - 06:47

Я тут ещё немного потестировал разные условия и виды фильтрации и обнаружил интересные вещи. Сразу скажу, что после обновления до 2.1 база индексировалась неоднократно, делал и чистку базы данных из инструментов Zoo

screenshot_ 2013-12-03 07.31.27.jpg

Так вот, объекты заведомо есть и в родительской категории и в дочерней. По дочерним вроде ищет, по родительской только в том случае, если объект отсутствует в дочерней, а если и там есть и там - не выводится, хоть ты тресни.

И ещё - результат, выдаваемый фильтром, меняется, даже если просто поменять внешний вид фильтра

Например:

screenshot_ 2013-12-03 07.34.00.jpg

меняем вид шаблона списка на список категорий без jQuery, разрешаем множественный выбор категорий, но выбираем только одну - перестаёт находить даже то, что находил (пусть и неправильно) ранее, теперь вообще ничего не находит (что неправильно, находить должен). Вот такие чудеса.


  • 0

#6 .polega.

.polega.

Отправлено 05 December 2013 - 10:16

Обновился до 2.1.1. Проблемы не решило.

 

При добавлении скрытого поля категории с нужным мне ИД, в результатах поиска просто начинают выводится элементы из этой, добавленной, категории дополнительно к тем, которые выбраны в основном поле выбора категории.

А нужно только те, которые есть и там, и там. Которые только в одной категории из двух - не нужны.

Логика поиска "И".


  • 0

#7 SmetDenis

SmetDenis

Отправлено 05 December 2013 - 16:35

Если вы добавите в фильтр одно и тоже поле несколько раз, то сработает то, которое идет последним.

Потому что у этих полей одинаковые атрибуты name
Т.е не получится сделать так чтобы одновременно в форме было и скрытое поле и список категорий.

 

Я же верно понимаю, что вам нужен выбор по категориям, но при этом чтобы поиск работал только для определенной ветки категорий?

Можете приложить ссылку на сайт с фильтром?
 


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 .polega.

.polega.

Отправлено 05 December 2013 - 17:31

Денис, добрый вечер, без Вас никак :)

 

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

 

Для меня это новость, так красиво всё вроде складывалось, теперь придётся искать другие варианты

 

Я же верно понимаю, что вам нужен выбор по категориям, но при этом чтобы поиск работал только для определенной ветки категорий?

У меня категории организованы таким образом. Есть родительская - "Сайт" (у неё ИД=24) и есть дочерние "Квартиры", "Дома" и т.д.

post-5234-0-09059700-1385979459.jpg

Объектов в категории "Сайт" несколько десятков, а в дочерних - сотни. Один объект может быть и в категории "Сайт" и в категории "Участки". Категория "Сайт" предназначена для объектов, которые опубликованы на сайте для посетителей. Много объектов, которые есть в дочерних, но они не для сайта, это просто база для риэлторов.

Хочется ограничить поиск таким образом, что-бы выбирались только те объекты, которые есть в категории "Сайт".

Допустим выбираем "Участки", но в результатах поиска отображаются только те, которые есть в категории "Участки" и они-же есть в категории "Сайт".

Ссылка на сайт.

Для примера, выбираем в фильтре категорию "Коммерч." - это коммерческая недвижимость.

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

 


  • 0

#9 SmetDenis

SmetDenis

Отправлено 05 December 2013 - 18:56

Для меня это новость, так красиво всё вроде складывалось, теперь придётся искать другие варианты
 

Так работает HTML и браузер, они считают поля одинаковыми, если у них совпадает атрибут name

 

У вас есть условия внутри teaser, которые могут скрывать информацию о материале?

Не совсем понимаю, почему на 2 и 3й страницах нет материалов.

Можете дать временный доступ в панель управления, так проще будет разобраться. Попробую найти альтернативное решение.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#10 .polega.

.polega.

Отправлено 05 December 2013 - 19:16

У вас есть условия внутри teaser, которые могут скрывать информацию о материале?

да, внутри teaser есть условие запрета вывода материалов по условию

так сделан специально

Не совсем понимаю, почему на 2 и 3й страницах нет материалов.

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


  • 0




Click to return to top of page in style!