Позволяет создавать списки и мультисписки с различными вариантами отображения в форме добавления и фильтре — список, мультисписок, чекбоксы, радиокнопки. Позволяет реализовывать фильтрацию по принципу ИЛИ.
Поле «Конструктор списков» позволяет строить поля-списки с любым типом поведения в фильтре и форме добавления/редактирования контента и при просмотре записи/списка записей. Это могут быть радиокнопки, чекбоксы или любые доступные сейчас в системе варианты списков. Поле имеет единых формат хранения данных для всех видов списков поэтому типы полей взаимозаменяемы. Поле имеет две модели поведения в фильтре, которые позволяют осуществлять как строгий поиск(точное вхождение всех выбранных параметров), так и искать записи, имеющие одно или более выбранное фильтре значение.
Реклама #
Алексей Т 5 лет назад #
Сергей 5 лет назад #
elv 5 лет назад #
Сергей 5 лет назад #
Денис Васильевич 5 лет назад #
Сергей 5 лет назад #
Anselmo 5 лет назад #
Но тут похоже функционал пошире, но также присутствует и функционал из предыдущей разаботки
Вежливый Хам 5 лет назад #
А как ведет себя юрл при использовании списка?
Всё те же кракозябры с знаком вопроса?
&$!#% 5 лет назад #
Shuma 5 лет назад #
Shuma 5 лет назад #
Region67 4 года назад #
И ещё: меняю плейсхолдер в фильтре, но в мобильной версии отображается стандартное, с компа всё ок
dwd 4 года назад #
Как видите ничего из вами озвученного не подтвердилось))
Region67 4 года назад #
За решение первого вопроса огромное спасибо.
dwd 4 года назад #
Region67 4 года назад #
Сергей 4 года назад #
dwd 4 года назад #
Region67 4 года назад #
dwd 4 года назад #
Ошибка также появится, когда вы попытаетесь преобразовать столбец таблицы из не-ТЕКСТОВОГО и не-BLOB-типа, такого как VARCHAR и ENUM, в тип TEXT или BLOB, когда столбец уже определен как уникальные ограничения или индекс. Команда Alter Table SQL завершится ошибкой.
Решение проблемы состоит в том, чтобы удалить столбец TEXT или BLOB из индекса или ограничения уникальности или установить другое поле в качестве первичного ключа. Если вы не можете этого сделать и хотите установить ограничение на столбец TEXT или BLOB, попробуйте использовать тип VARCHAR и установите для него ограничение длины. По умолчанию, VARCHAR ограничен максимум 255 символами, и его предел должен быть указан неявно в скобках сразу после его объявления, то есть VARCHAR (200) ограничит его длиной только 200 символов.
Иногда, даже если вы не используете в своей таблице тип, связанный с TEXT или BLOB, также может появиться ошибка 1170. Это происходит в такой ситуации, когда вы указываете столбец VARCHAR в качестве первичного ключа, но ошибочно устанавливаете его длину или размер символов. VARCHAR может принимать только до 256 символов, поэтому что-либо вроде VARCHAR (512) заставит MySQL автоматически преобразовать VARCHAR (512) в тип данных SMALLTEXT, что впоследствии завершится ошибкой 1170 по длине ключа, если столбец используется как первичный. ключевой или уникальный или неуникальный индекс. Чтобы решить эту проблему, укажите значение меньше 256 в качестве размера поля VARCHAR.
Применительно к вашей ситуации - как вы наверное уже догадались поле использует для хранения данных столбец типа TEXT. И данная ошибка никак с самим полем не связана. Вы могли столкнуться точно с такой же ситуацией используя поля Текст, Текст HTML, Список: мультивыбор и любые другие поля, использующие для хранения данных столбцы типа TEXT. При включении показа в фильтре система пытается создать индекс таблицы для увеличения быстродействия при фильтрации. И очевидно в коде системы, отвечающем за создание индекса данная ситуация не учтена. Я думаю вашему вопросу самое место на гитхабе. Я несколько раз сталкивался с подобной ситуацией(с абсолютно разными полями), однако понять природу ее возникновения у меня не получилось. Впрочем и цели докопаться до истины не было, проще было удалить поле и создать его заново. Ошибка в этом случае исчезала и ломать голову не было нужды.
Как вы можете повлиять на ситуацию?
1. Вы можете удалить и создать поле заново(если данные данного поля пока отсутствуют либо не важны)
2. Вы можете запретить создание индекса для данного типа поля. Для этого вам необходимо открыть файл system/fields/unilist.php, найти в нем строку
Region67 4 года назад #
Олег Васильевич я 4 года назад #
iton 1 год назад #
Версия InstantCMS 2.15.2.
Проблема, если значение не выбрано, то показывается слово «Нет».
Может кто то решил эту проблему или знает как ее устранить? чтобы если значение не выбрано то и не показывалось поле.
p.s. такая же проблема была с полем «Список мультивыбор» из коробки instantcms.ru/forum/znachenie-net-v-pole-spisok-multivybor.html но ее убрали в версии 2.15.2.
&$!#% 1 год назад #
Файл system/fields/unilist.php, найдите
и замените на
Точно так же можно сделать и в других полях, которые вас интересуют.
iton 1 год назад #
Спасибо!
iton 1 год назад #
Ответ, что надо сделать:
Файл system/fields/unilist.php, найдите
и замените на
Точно так же можно сделать и в других полях, которые вас интересуют.
p.s. т.к. «Комментарий удален».
Region67 1 год назад #
Сегодня Александр выпустил обновление, где можно спрятать поле, если оно не выбрано.
Или использовать код выше
iton 1 год назад #
Отлично!