Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Динамическая "Мультизагрузка" для текстовых/числовых полей

18.05.2020, 12:19
Сергей Сморовоз
Визуальный Маркетинг - SL-System
Сергей Сморовоз

Зарегистрирован:
2005-03-04
Сообщений: 83

Привет всем. Призываю на помощь коллективный разум котанов! улыбка

Стоит задача сделать динамическую форму заполнения данных о рецепте по типу существующей опиции Неткат – мультизагрузки файлов, только для текстовых/числовых полей.

В основном Компоненте будет всё по классике: Название, Тайтл, Фотка и т.д., а вот во вспомогательном Компоненте будут храниться ингредиенты (название, вес, калории, и т.д.). Один рецепт может содержать 5 ингредиентов, а другой рецепт может содержать 25 ингредиентов, со всех точек зрения такую структуру держать в основном компоненте не серьёзно.

Чтобы не изобретать велосипед, подскажите плиз, что взять за основу из готового функционала Неткат и куда копать или проще забить и лепить всё самим на голом php?

Аудит сайтов на CMS NetCat, SEO оптимизация и поисковое продвижение.
01.08.2020, 18:23
Вячеслав
Студия "Кронос"
Вячеслав

Зарегистрирован:
2013-04-12
Сообщений: 91

Я так понимаю, что ингредиенты повторяются в разных рецептах? Если кол-во полей не будет превышать 2-х, почему бы не использовать списки с множественным выбором в одном компоненте?

Если полей больше, то создать второй компонент для хранения. К первому компоненту подключать ID объекта 2-го компонента во время редактирования.

Если объектов много, то для удобства подключить библиотеку на JS с auto complite.

Лепить лучше на голых компонентах netcat, а не на голом php, чтобы не потерять смысл и удобство использования cms-ки.
16.10.2020, 16:13
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

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

В форме добавления объекта
Код:
<select name='types[]' multiple='multiple'>
<? foreach ($types as $element) { ?>
<option value='<?= $element['Message_ID'] ?>'><?= $element['Name'] ?></option>
<? } ?>
</select>

Условия добавления объекта
Код:
if ($types) $f_Types = join(',', $types);
else $f_Types = '';


Для подобных задач я обычно создаю дополнительные компоненты которые будут содержать вторичную информацию. Затем добавляю модуль Таблицы администрирования и прописываю id компонента в настройках поля. Далее у меня в админке выпадающий список по типу многие ко многим и могу привязывать любые объекты к основному.

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
198 196 2020-10-16 16:13:57 15225
Описание проекта