|
|
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
Панасин Александр
Зарегистрирован: 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
|