Не верная работа Фильтра поля Список:мультивыбор 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 252
Yar:

@elv:
Если удалить у кого выбрано Значение, оно в записи пропадет.
Ну так это и правильно же.

@Demonstrator:
Вопрос в том можно ли без хаков использовать его в свойствах. Подозреваю что нет. Таким образом оно становится бесполезным для большинства. ...Вот где затык.
Я отношусь к тому меньшинству, которое, испробовав все прелести свойств благополучно от них отказалось, поэтому сей "затык" меня минует. Правда парочка свойств осталось, всё же, но при первой возможности и с ними распрощаюсь.

vikont, автоссылки нет?

А чем свойства так плохи? Поясните пожалуйста, раз опыт есть.
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форума
Сообщений: 3056
Yar:
vikont, автоссылки нет?
Вот все, что тут есть:
Не верная работа Фильтра поля Список:мультивыбор

Этого хватит? smile

ПС. Забыл уточнить - это последняя версия поля, в которой есть возможность прямо из редактора добавлять в список, а так же автоматичеки добавлять записи из заголовка статьи.
Не верная работа Фильтра поля Список:мультивыбор

И конечно работает быстрый поиск по набранным буквам.... все очень удобно.
Редактировалось: 3 раз (Последний: 4 января 2019 в 18:08)
По рефке 10% скидка на мощный и гибкий хостинг на NVMе дисках с реальной защитой! Дешевые домены здесь! Автоботы для соцсетей
Реклама
cms
Посетитель
small user social cms
Сообщений: 780
@Milyana:
А чем свойства так плохи?

Свойства не выводятся в список записей
Свойствам не может быть назначен css
Список мультивыбор не корректно работает при фильтрации

Плюсы:Свойства можно назначить категориям из коробки

Полям и Свойствам нельзя выставить порядок отображения

Некоторые поля можно использовать в Наборах

Минусы Полей: нельзя назначить категориям из коробки
В виджете Фильтр + не отображаются как Свойства в выпадающем окне
Редактировалось: 1 раз (Последний: 4 января 2019 в 18:24)
Посетитель
no avatar
Сообщений: 83
Возможно плезнее было бы, иметь в свойствах некое универсальное поле, которое было бы способно содержать в себе любое уже существующее или новое поле или виджет. Создал поле, указал что в нем выводить и все. Тогда действительно можно было бы играть с полями как угодно.
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 476
@Milyana:
А чем свойства так плохи? Поясните пожалуйста, раз опыт есть.
На вскидку:
Отображаются в записи отдельно от полей. Чтоб что-то изменить, нужно ковырять шаблон.
Нельзя сделать общий фильтр на главной странице раздела. Свойства отображаются в фильтре только в своих категориях.
Типов свойств меньше, чем типов полей.
нельзя сделать подсказку, как для поля.

vikont, автоссылка имеется. Ещё какие-то не понятные режимы есть, но лучше больше, чем меньше. smile
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форума
Сообщений: 3056
@Demonstrator:
Возможно плезнее было бы, иметь в свойствах некое универсальное поле
Поддерживаю. На Github в предлоения для реализации!
По рефке 10% скидка на мощный и гибкий хостинг на NVMе дисках с реальной защитой! Дешевые домены здесь! Автоботы для соцсетей
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форума
Сообщений: 3056
Yar:
Нельзя сделать общий фильтр на главной странице раздела.
Это почему? Разве здесь не так? Поле здесь только Возрастные группы, остальное свойства.
По рефке 10% скидка на мощный и гибкий хостинг на NVMе дисках с реальной защитой! Дешевые домены здесь! Автоботы для соцсетей
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форума
Сообщений: 3056
Yar:
vikont, автоссылка имеется. Ещё какие-то не понятные режимы есть, но лучше больше, чем меньше.
1. Режим дебага - подсвечивает записи, в которых не заполнено поле. Удобно при переходе на поле с уже имеющимся контентом. Помогает быстрее отредактировать новое поле в записи.
2. Возможность добавления названия записи в свойства - в редакторе появляется чекбокс Копировать заголовок в свойство
3. Возможность добавления значений в поле - разрешает добавление значений в поле прямо из редактора
По рефке 10% скидка на мощный и гибкий хостинг на NVMе дисках с реальной защитой! Дешевые домены здесь! Автоботы для соцсетей
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 476
vikont, свой фильтр в каждой категории. А здесь пробовали вывести поиск по всем категориям -/video? А вот по полям любым можно искать с главной страницы раздела. Иногда это нужно, сразу показать записи из разных категорий, ибо не каждый пользователь будет что-то искать заходя в каждую категорию.
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форума
Сообщений: 3056
Yar:
Иногда это нужно, сразу показать записи из разных категорий, ибо не каждый пользователь будет что-то искать заходя в каждую категорию.
Теоретически вы правы, но зачем тогда вообще нужны категории? Замените их полем и организуйте все через поля!
Чтобы народ не терзался в сомнениях, там где надо я отключил показ контента из подкатегорий и народ автоматически переходит дальше, в подкатегории. Надо выстраивать логическую цепочку и следовать ей, а не хотелкам отдельных адептов анархии... :))))
По рефке 10% скидка на мощный и гибкий хостинг на NVMе дисках с реальной защитой! Дешевые домены здесь! Автоботы для соцсетей
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 476
Категории для порядка и для поиска. И фильтр для поиска. И Яндекс для поиска. И ещё есть методы облегчающие поиск материала. И их нужно все проработать, так как разные посетители и ищут по разному. Вы предлагаете сначала человеку выбрать категорию, а затем фильтр. И такой вариант должен быть, конечно. А я еще хочу чтоб фильтр был один для всех записей типа контента на главной странице и человек сразу нашёл то, что нужно, а не рыскал по разделам. Чем проще будет человеку, тем больше радости админу.
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форума
Сообщений: 3056
Yar:
Чем проще будет человеку, тем больше радости админу.
Спорить не буду! Я о другом, системно-тематическом подходе, об уже сложившихся стереотипах разделения тем. Возмем тот же сайт для дошколят, кому вздумается в голову искать материалы по математике в разделе по лепке? Вод в таких случаях разделение на категории оправдано и даже полезно, так как поиск происходит в тематическом разделе, а не перерывается зря вся база!
А поиск с главной - это особая тема разговора! Лучше чем монстры поисковики не ищет ни одна программа! И у них есть возможность встроить такой алгоритм в сайт, НО, они ничего не находят на сайте пока не проиндексируют!
По рефке 10% скидка на мощный и гибкий хостинг на NVMе дисках с реальной защитой! Дешевые домены здесь! Автоботы для соцсетей
Посетитель
small user social cms
Сообщений: 780
Искать сразу в двух Подкатегориях удобно и быстро, например, человек хочет найти фильм 2018 года, а комедия или триллер не важно. Возможно будет дольше искать.
Без общих Полей нужно будет в каждой Подкатегории искать 2018 год в разных вкладках, возможно в разных браузерах
Сравнения Записей еще нет.
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форума
Сообщений: 3056
Все верно! У каждой информации есть своя специфика!
Как и верно то, что вы не станете искать фильмы в разделе все для огорода! Именно это я и имел ввиду.
По рефке 10% скидка на мощный и гибкий хостинг на NVMе дисках с реальной защитой! Дешевые домены здесь! Автоботы для соцсетей
Посетитель
no avatar
Сообщений: 40
Тоже заморочился с реализацией логики "ИЛИ" на мультивыборе. Второй день ковыряю.
Вот решение, вроде работает.
В \system\core\model.php
Код PHP:
  1. public function filterOrBitMask($field, $value){
  2. if (strpos($field, '.') === false){ $field = 'i.' . $field; }
  3. $value = bindec($value);
  4. $this->filter("$field & '$value' > 0");
  5. return $this;
  6. }
Эту функцию логично вставить после filterLike.
Далее идем в БД и находим системное имя вашего поля с мультивыбором - меняем его тип со строки на int(<число бит>) unsigned zerofill
Далее идем в \system\fields\listbitmask.php и находим функцию applyFilter
И чтобы ничего не ломать стандартного, просто ставим условия.
Код PHP:
  1. public function applyFilter($model, $values) {
  2.  
  3. if (!is_array($values)) { return parent::applyFilter($model, $values); }
  4.  
  5. $filter = $this->parseValue($values);
  6. if (!$filter) { return parent::applyFilter($model, $values); }
  7. if($this->name == 'MY_FIELD1' || $this->name == 'MY_FIELD2' || $this->name == 'MY_FIELD3'){ // начало условия
  8.  
  9. return $model->filterOrBitMask($this->name, $filter);
  10. } // конец условия
  11. $filter = str_replace('0', '_', $filter) . '%';
  12.  
  13. return $model->filterLike($this->name, $filter);
  14.  
  15. }
В целом, здесь выборка должна работать быстрее, чем через LIKE с шаблоном, как изначально предусмотрел разработчик.
Редактировалось: 1 раз (Последний: 15 июня 2020 в 20:15)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.