Нужен совет по архитектуре.
Допустим есть 3 сайта:
1) каталог ресторанов
2) каталог автомобилей
3) каталог недвижимости
Хочется использовать один и тот же плагин каталога на каждом из сайтов.
Пишу плагин "Каталог" в котором есть только базовые поля (название, слаг, опубликовано, картинка, текст и т.п.)
- Для ресторанов и недвижимости нужны поля адреса (страна, город, точка на карте и т.п.). Но для автомобилей они не нужны.
- Для ресторанов нужны поля контактов (телефон, почта и т.п.). Но для недвижимости и авто они не нужны.
- Для ресторанов нужны поля время работы (со скольких, по каких днях и т.п.). Но для недвижимости и авто они не нужны.
Еще важный момент, для ресторанов нужна возможность задавать несколько адресов (например сеть ресторанов в разных городах).
Дальше вижу 2 варианта:
1) Базовый плагин "Каталог" + дополнительный плагин "Контакты", в котором - контакты, адрес, время работы.
2) Базовый плагин "Каталог" + дополнительный плагин "Недвижимость", "Рестораны" и т.п.
Первый вариант мне кажется лучше, но есть одна проблема.
К примеру для ресторанов нужны все поля из плагина "Контакты": контактная инфа (телефоны и т.п.), адрес (страна, город), время работы.
Но для недвижимости нужны только поля адреса (время работы и контакты не нужны).
В таком случае получается для недвижимости нужно создать:
- базовый плагин "Каталог",
- дополнительный плагин "Контакты" для каталога
- дополнительный плагин "Время работы" для плагина "Контакты"
"Время работы" расширяет "Контакты", "Контакты" расширяет "Каталог".
Походу хрень какая-то получается или нет? 😁