О модульности модулей

Всё, что касается API и ядра concrete5

О модульности модулей

Сообщение guyasyou » 16 дек 2016, 23:49 ,  »  Сообщение:#1

У меня есть модуль магазина, на версии С5 5.7 90% готовности. Надо портировать на 8 версию и переделать многие связи на Доктриновские. И тут я подумал: я хочу сделать максимально "тонкий" магазин, в котором есть товар-корзина-заказ-оплата, все, никаких доставок, валют, отслеживания количества и т.п.
Но некоторые функции должны быть доступны:
- опции товаров и их влияние на цены (например выбор размера футболки) (это реализовано, но я хочу его вырезать из стоковой версии)
- отслеживание кол-ва (тут есть закавыка: если у нас товар содержит опции, то надо считать все комбинации (футболки, разные по размеру и по цвету долджны имет собственное количетсво))
- интерфейс для доставки и отслеживания
- скидки (в ядре есть только спец.цена на товар)
- мультивалютность и т.п.

Так вот, какой-такой магией я могу сделать простейший магазин, а потом расширять его же доустановками package-й? Некоторые вещи требуют переопределения ядра магазина: например ценообразование в зависимости от опций, и что делать если 2 пакета хотят переписать один и тот же метод, а нужна их "сумма".

Моя интуиция подсказывает что-то вроде евентов с калбэками. тоесть пакеты их слушают и возвращают в ядро результат- но все эт расплывчато представляется...

Вариант реализовать весь функционал изначально, в стоковую, не очень. Много лишнего, да и я хочу сделать его бесплатным, а продавать лишь расширения.
www.pure-web.ru - fullstack разработка сайтов и веб-приложений
Аватара пользователя
guyasyou
Администратор
 
Сообщения: 550
Зарегистрирован: 05 янв 2012, 12:29
Откуда: Новосибирск

Re: О модульности модулей

Сообщение guyasyou » 18 дек 2016, 00:14 ,  »  Сообщение:#2

Во,
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
вроде подходит.
Заводим сингелион в ядре и на on_start() модули будут туда записываться и если что, сингелион выполняет все зареганные модули и возвращает ответ.
www.pure-web.ru - fullstack разработка сайтов и веб-приложений
Аватара пользователя
guyasyou
Администратор
 
Сообщения: 550
Зарегистрирован: 05 янв 2012, 12:29
Откуда: Новосибирск

Re: О модульности модулей

Сообщение guyasyou » 19 дек 2016, 01:05 ,  »  Сообщение:#3

Всеравно остается проблемы с добавлением корзину, да и отображением товара, там тоже надо иметь возможность встривать из других модулей... пока хз как
www.pure-web.ru - fullstack разработка сайтов и веб-приложений
Аватара пользователя
guyasyou
Администратор
 
Сообщения: 550
Зарегистрирован: 05 янв 2012, 12:29
Откуда: Новосибирск

Re: О модульности модулей

Сообщение cmsservice » 19 дек 2016, 12:51 ,  »  Сообщение:#4

Мысль с регистрацией своего Event и его поднятием при соответствующих условиях - вполне жизнеспособна. Эвент должен формировать объект с данными и его передавать как аргумент, и каждый обработчик должен работать с объектом и его же изменять при необходимости.

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

Мы вот тут
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
реализовывали простейший магазин, никаких изысков. Один пакет, в котором два модуля + элемент для встраивания в карточку товаров + админская часть с настройкой куда отправлять данные о заказах и списком/карточкой заказа.
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: О модульности модулей

Сообщение guyasyou » 19 дек 2016, 17:57 ,  »  Сообщение:#5

дык я хочу сделать ядро которое можно будет расширять, сделать магазин на уровне вроде eCommerce по функциональности, но не со стока.
я ща думаю как реализовать опции товаров (отображение, выбор, сохранение, расчет цены). у меня это реализовано, но как его выдернуть со стока, чтобы потом установить отдельным модулем я хз. он крепко связан с самим магазином.

UPD: ммм, чет наклевывается, начинаю немного понимать как сделать, надо в схему попробовать вставить
www.pure-web.ru - fullstack разработка сайтов и веб-приложений
Аватара пользователя
guyasyou
Администратор
 
Сообщения: 550
Зарегистрирован: 05 янв 2012, 12:29
Откуда: Новосибирск

Re: О модульности модулей

Сообщение cmsservice » 19 дек 2016, 18:11 ,  »  Сообщение:#6

В чем проблема-то сделать эвенты? Вот посмотри
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: О модульности модулей

Сообщение guyasyou » 19 дек 2016, 23:15 ,  »  Сообщение:#7

Не, эвенты то буду юзать, но это не покрывает все проблемы

Вот кстати набросок альфа версии. Это описывает около 60% бета версии, которая в процессе обзавелась частями отсутствующими на схеме.
Изображение
www.pure-web.ru - fullstack разработка сайтов и веб-приложений
Аватара пользователя
guyasyou
Администратор
 
Сообщения: 550
Зарегистрирован: 05 янв 2012, 12:29
Откуда: Новосибирск


Вернуться в Разработка Concrete5

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron