Есть типовой шаблон для лендинга, есть база данных некоторых товаров. Нужно написать многошаговый процесс установки лендинга, во время выполнения которого будет даваться выбор какой товар в лендинге будет отображаться.
Выбор и настройка блоков лендинга делается во время установки. Например, есть iPhone, и, скажем, Samsung (любой) - не важно какие у них детали технические, как у смартфонов, важно что это два смартфона.
Во время установки лендинга на хостинг, нужно дать выбор какой товар будет отображен в лендинге, зная что навигация для всех товаров и количество блоков одинаковое, меняется только контент, который подтягивается из бд во время установки
1. Посоветуйте, пожалуйста, как реализовать такой установщик?
2. Как во время установки отобразить на выбор список товаров, которые во время установки выбирает для отображения на лендинге пользователь?
3. Как организовать хранение контента для товаров (описания, графические элементы смартфонов), для выбора во время установки лендинга на сервер?
Ну если говорить о пошаговом установщике, то я делал несколько div блоков. Первый октрыт, все остальные скрыты. Ну и "перед" назад, понятно первый скрываешь, второй показываешь и т.д.
Pavel Khorikov: Тогда разбейте вопрос на подвопросы. Так как не понятно, что Вам подсказать? Дать готовую реализацию? В чем у Вас проблема? И не проще ли установить Вашу CMS на yii2, а потом в настройках все это менять? Зачем кастомизация при установке?
Максим Тимофеев, проблема в том, что я никогда такие штуки не писал. Мне интересно, как написать установщик лендинга, имея четко определенный шаблон. который будет для всех товаров одинаковым, меняться в нем будет только название товара и характиеристик. И что самое непонятное - как вов ремя установки лендинга на сервер дать пользователю выбрать этот самый товар для лендинга? Где хранить варианты товаров вов ремя установки? Не знаю как еще обьяснить, если не ясно.
Pavel Khorikov: 2 базы, 1 локально для лендинга, вторая удаленная для загрузки товаров(а). Весь проект устанавливается одинаково, а мастер установки делает выборку из удаленной базы и добавляет то что выбрал пользователь. Можно без удаленной базы. - просто сделать php файл, который возвращает массив.
Максим Тимофеев: спасибо, теперь яснее. А как передавать параметры выбранных товаров в будущий лендинг? Скажем, к примеру, выбрал я товар, у меня есть шаблон для его отображения, как мне во время установки передать параметры эти в шаблон средствами Yii2?
пишите в базу или в конфиг. Например название шаблона, и храните их все. Их же не миллион. Если У Вас под каждый товар - отдельный шаблон - это беда. Надо максимально обобщить, подобавлять в шаблоны render отдельных частей и т.д. Пока сложно понимаю Вашу структуру, так что дать дельный совет сложно. У меня есть ощущение, что Вы на этапе проектирования что-то делаете не так. У Вас MCV соблюдается?
Максим Тимофеев: да, соблюдается. Я решил хранить все товары в бд, добавить поле active и менять его. Потом извлекать всегда данные по из бд where status='active', например и передавать данные во вью. Это лайтовый вариант, но там чисто с точки зрения проектирования возможны нюансы, которые я пытаюсь предвидеть, например, если пользователь захочет сделать не по одному товару на лендинг, а по три. И так далее.
Pavel Khorikov: Вы хотите уйти от админки? Тоесть установил и все? Мне кажется проще сделать простую админку или страницу где хрантся настройки. проще будет доделывать функции.
Максим Тимофеев: да, я тоже уже пришел к этому выводу. Храним все в бд (рендер текущего товара в лендинге и меняем перезаписывая статус на active) после авторизации, да, ок, там будет менее хлопотно.