Тип поля "Список количества".

+33
3.88K
Поле позволяет создать в записи список характеристик товара, список состава ингредиентов рецепта, список используемого оборудования и материалов с указанием количества, список выполняемых работ с указанием цены за каждый вид работ. В общем позволяет создать список с указанием количества.

Теперь подробнее — как с этим работать?

По умолчанию поле настроено на работу с "Ингредиентами" какой-то поваренной книги. Но этим не ограничивается.

Установка поля.

При установке поля в нужном типе контента, в настройках поля доступны следующие опции:
Иллюстрация
где три галочки указывают какие поля доступны для ввода информации и ниже их заголовки, которые выводятся при создании/редактировании записи.
В поле "Подсчёт количества пунктов списка" указываются слова для вывода в формате "один|два|много". Но если оставить это поле пустым, то и счётчики выводится не будут.
Иллюстрация
В предустановленных значениях этого поля можно ввести список доступных значений для выбора пользователем при создании записи.
Иллюстрация
Вводится каждое значение с новой строки. Но я рекомендую вводить значения в формате "ключ | значение" — как на картинке. Это позволит со временем не только добавлять новые значение, но и изменять их последовательность, не нарушив при этом значения в уже заполненных записях.

Создание и редактирование записи.

При создании записи появится небольшая форма для ввода
Иллюстрация
Здесь можно нажимать на слова с "+" для добавления нужных категорий и подкатегорий списка или на "-" для удаления ненужных.
Также можно перетаскивать строки в пределах категории и сами категории для изменения их сортировки.

Так выглядит заполненное поле.
Иллюстрация
Точно также оно выглядит и при редактировании записи.

Вывод на фронте.

Выводится по умолчанию в таком виде
Иллюстрация
Стили можно поправить в файле \templates\default\css\listqty.css
Для примера приведу несколько скринов с другими настройками

Иллюстрация
Иллюстрация
Иллюстрация
Фильтр.

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

Иллюстрация
Иллюстрация
Ограничения.

Вложенность категорий и их "подкатегорий" ограничена вторым уровнем.

Поле в БД прописывается с типом "text", а это вносит ограничение на запись данных длиной в 65 000 (с небольшим) символов.
Для обычного рецепта этого достаточно, но для прайса услуг большой компании может не хватить. Можно увеличить объем перед установкой поля в файле \system\fields\listqty.php заменив в строке 6 слово "text" на "mediumtext". Тогда объем символов увеличится до 16 миллионов (с небольшим).
Либо можно увеличить это в БД напрямую нужное поле.

Код открыт, привязки к домену нет, поскольку платное, значит послепродажная поддержка в течении года запланирована.


Пока только через личку переводом на Яндекс.Деньги суммы в 500 руб. Чуть позже выложу в своём магазине (больше похожем на "ларёк").
Доступ в админку демки предоставляется по запросу.
0
driverriga driverriga 8 лет назад #
Спасибо за дополнение, очень радует smile Не дорого, а функционально!
Появился вопрос, как вывести в список рецептов Количество ингридиентов и при клике выпадает меню со списком?
+1
Loadырь Loadырь 8 лет назад #
Цифру - сколько строк было задействовано можно получить с помощью конструкции
Спойлер
+1
Daniel Daniel 8 лет назад #
Жирный плюс за работу. Как раз делаю кулинарный сайт для одного клиента, думал как-бы реализовать по лучше, а тут на те подарок.
Спасибо большое за работу
0
Bubble Gumoff Bubble Gumoff 8 лет назад #
Интересно +
0
Def Def 8 лет назад #
Отличное дополнение!

ПС. а с календарем получилось?)
0
Loadырь Loadырь 8 лет назад #
yury:
ПС. а с календарем получилось?)
В процессе...
Спойлер
+1
Def Def 8 лет назад #
Вот же ж приставучий smile
и не говорите)
-1
AndroS AndroS 7 лет назад #
А можно ли еще упрощенную версию и более универсальную сделать?
К примеру, у меня цена на услугу, может быть бесплатной.
Мойка авто
Бесплатно - при ремонте авто на сумму 10000руб (Кнопка-лидосбор/Ссылка)
500руб - при диагностике авто (Кнопка-лидосбор)
1000руб - Если чисто помыться заехали (Кнопка-ссылка)
0
Jestik Jestik 7 лет назад #
А автозаполнения, такого как в тегах по дефолту при добавлении и фильтрации нету (начинаешь вводить слово, а человеку выскакивают предложения)? Если нету то сложно добавить? Спасибо
0
Loadырь Loadырь 7 лет назад #
Нет. В текущей версии реализации это не осуществить. Тут нужен другой тип поля, с хранением данных в отдельной таблице и экшн для обработки автокомплита
0
Jestik Jestik 7 лет назад #
На 2.7.0 заработает?
0
Loadырь Loadырь 7 лет назад #
Работает.

Еще от автора

Конструктор форм iForms: онлайн калькулятор
Краткая инструкция, по созданию онлайн калькуляторов с помощью конструктора форм.
Конструктор форм iForms. Добавление записи в типы контента гостем.
С момента моей прошлой записи на эту тему прошло больше двух лет. За это время двойка претерпела немало изменений.
Редактор разметки iTiny
Шо! Опять! (c)))
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.