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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приобрести можно
Виджет Снежинки на сайте для 2.3.х. | Компонент Моменты для InstantCMS 2.5.+
Комментарии (12)
driverriga 24 марта 2016 в 11:15 0
Спасибо за дополнение, очень радует smile Не дорого, а функционально!
Появился вопрос, как вывести в список рецептов Количество ингридиентов и при клике выпадает меню со списком?
Loadырь 24 марта 2016 в 13:20 +1
Цифру - сколько строк было задействовано можно получить с помощью конструкции
Спойлер
Daniel 24 марта 2016 в 14:44 +1
Жирный плюс за работу. Как раз делаю кулинарный сайт для одного клиента, думал как-бы реализовать по лучше, а тут на те подарок.
Спасибо большое за работу
Bubble Gumoff 24 марта 2016 в 18:48 0
Интересно +
Def 24 марта 2016 в 21:21 0
Отличное дополнение!

ПС. а с календарем получилось?)
Loadырь 25 марта 2016 в 06:40 0
yury:
ПС. а с календарем получилось?)
В процессе...
Спойлер
Def 25 марта 2016 в 10:41 +1
Вот же ж приставучий smile
и не говорите)
AndroS 1 октября 2016 в 19:47 -1
А можно ли еще упрощенную версию и более универсальную сделать?
К примеру, у меня цена на услугу, может быть бесплатной.
Мойка авто
Бесплатно - при ремонте авто на сумму 10000руб (Кнопка-лидосбор/Ссылка)
500руб - при диагностике авто (Кнопка-лидосбор)
1000руб - Если чисто помыться заехали (Кнопка-ссылка)
Jestik 25 января 2017 в 14:31 0
А автозаполнения, такого как в тегах по дефолту при добавлении и фильтрации нету (начинаешь вводить слово, а человеку выскакивают предложения)? Если нету то сложно добавить? Спасибо
Loadырь 25 января 2017 в 16:03 0
Нет. В текущей версии реализации это не осуществить. Тут нужен другой тип поля, с хранением данных в отдельной таблице и экшн для обработки автокомплита
Jestik 9 февраля 2017 в 20:58 0
На 2.7.0 заработает?
Loadырь 13 февраля 2017 в 06:48 0
Работает.