Итак, все долго-долго ждали, и таки дождались! :-) Встречайте! ShopModxBox-2.0.0-beta. Времени потратили "чуть больше", чем планировалось, но это совсем не от безделья. Просто хотелось как можно более полную и грамотную основу заложить. Плюс была проделана огромная работа с фронтом сайта, и это не только адаптивная верстка, но и полноценное JS-API, за что Сергею огромнейшее спасибо! Все сделанное во фронте - это Сергей. Я серверную часть программировал. В общем, вот демо-ролик (демонстрация + два способа установки). А под катом детали.
Ссылка на демо-видео: http://www.youtube.com/watch?v=g_cSfGgSO9g
Сразу ссылки на ролик с привязкой по времени:
- Установка через менеджер пакетов в админке: http://www.youtube.com/watch?feature=player_detailpage&v=g_cSfGgSO9g#t=558
- Установка через консоль (более предпочтительный метод): http://www.youtube.com/watch?feature=player_detailpage&v=g_cSfGgSO9g#t=1003
Итак, вот неполный список изменений:
- Полностью переработан весь движок. Обратная совместимость с 1.1.0 не подразумевается.
- Добавлен компонент Billing. На этом модуле завязано все, что связано с заказами, оплатой и т.п.
- Корзина перестала существовать отдельно. Теперь Корзина - это еще не оформленный Заказ (Order). Теперь даже не оформленные заказы хранятся в базе данных, что как минимум позволяет видеть кого что интересует, а так же определять реальный процент конверсии и выявлять возможные ошибки.
- Компонент Basket (Корзина) остался, но почти все, что связано с самими заказами, перенесено в Billing. Basket и дальше останется отдельным модулем, а в Billing-е будет только необходимый минимум логики. Рассчет на то, что сам механизм заказа, оплаты и т.п. можно будет реализовывать в любых сторонних модулях, которые будут взаимодействовать с биллингом.
- Добавлен и сверстан новый шаблон по умолчанию с использованием bootstrap. Много всяких аджаксовых плюшек и полноценное JS-API.
- Добавлен табличный редактор документов.
- Добавлено управление заказами.
- Добавлен личный кабинет пользователя, регистрация, смена пароля, восстановление пароля и т.п.
- Настроена регистрация через Login, смена/восстановление пароля и т.п.
- Добавлен модуль modHybridAuth (авторизация через социальные сети). Пока четко проверены Twitter, Facebook и Google, но должны и другие работать.
- Подключен сервис оплаты Robokassa.
- Настроены политики безопасности:
- Контент-менеджер;
- Администратор магазина;
- Менеджер магазина;
- Продвинутый менеджер магазина.
Всякие вкусности, а так же планы на будущее.
Движок на самом деле разрабатывался добротно, просто еще не все появилось. Но есть главное - основа. И эту основу мы будем постепенно развивать, а всякий, кому чего-то не хватит, без особых проблем сможет добавить свое. Вот простой алгоритм, как этот магазин переделать под себя: 1. Разворачиваем эту сборку. 2. Делаем копии шаблонов (assets/components/modxsite/templates/default/ (публичная часть шаблона) и core/components/modxsite/templates/default/ (Смарти-шаблоны)). Называем шаблон каким-то своим именем. 3. Меняем название шаблона в настройке. На самом деле можно было просто переименовать эти папки и настройку поменять :-) Но я так, описал полностью возможный механизм. Все, у вас свое собственное оформление сайта. То есть пока еще только такой же шаблон, но вы его можете смело редактировать как хочется. Так вот, далее просто надо учесть, что у нас Смарти, а не просто сухие чанки, то есть в самих шаблонах можно менять логику отображения и работы сайта. А так же можно создавать свои процессоры и расширять имеющиеся. За счет этого вообще кардинально можно все изменить. Но есть еще один огроменный фронт: новые модули для магазина. Мы закладываем основу так, чтобы можно было довольно легко добавить что-нибудь свое. Покажу один пример, правда он чисто для программистов. Вот у нас есть оплата через робокассу, и стоит задача прикрутить еще какой-нибудь способ оплаты. Посмотрим, как это делается. Вот это базовый процессор для любых типов оплаты: https://gist.github.com/Fi1osof/0d0df9bb085195205d25 Он абстрактный, и его нельзя вызвать напрямую, так как у каждой конкретной платежной системы свои механизмы проверки платежа. Но этот класс уже обеспечивает всю необходимую логику, и от расширяющего процессора ждет только одного: подтверждения правильности платежа и установки суммы и прочих данных платежа. И вот расширяющий процессор конкретно для робокассы:
https://gist.github.com/Fi1osof/4e3011cf1383514c586f
Как видно, это всего 60 строчек кода. Но в результате не только будет проведена оплата с учетом кто платил, через что, сколько и т.п., но и будет автоматически изменен статус заказа на Оплачен. И вот прикрутить еще какой-нибудь способ оплаты - это всего несколько десятков строк. Вот пока на этом я прервусь. Скачивайте сборку, устанавливайте, изучайте, задавайте вопросы. А впереди у нас еще очень много работы, так что если для вас сборка оказалась полезной, и вы желаете больше нужных модулей и как можно скорее, то шлите донейты. Чем быстрее будут пополняться бюджеты, тем больше мы будем работать и тем быстрее будут появляться всякие полезности :-)
P.S. Вышла новая версия ShopModxBox-2.0.1
Список изменений:
Исправлены баги с подсчетом товаров.
- Удалил лишние папки (из-за которых на винде бага с установкой возникала).
- Добавлен вход через Яндекс.
- Добавлена госдеповская таблица транслитерации (у кого сайт уже стоит и кому надо, изменить настройку friendly_alias_translit=russian на russian-gosdep).

Евгений Pulsar 14.10.2013 08:35 #
Николай 06.04.2014 16:09 #
Вопрос буквально пары дней.
Используется родной механизм 1С взаимодействия с веб-сайтами, так что на выходе вообще будет полная совместимость с 1С.
Николай 19.10.2013 05:10 #
Точно знаю, что отвечал на ваш комментарий, но сейчас не вижу здесь коммента. Отвечу опять, может чуть короче.
Интеграция с 1С и т.п. как правило выполняется индивидуально, так как у каждого своя 1С-конфигурация. У кого-то структура так, у кого-то сяк. Но сделать интеграцию с 1С - не дофига делов, и больше зависит от того, есть ли на стороне заказчика 1С-программист, который настроит выгрузку в XML или в каком другом формате.
Вот такой импортер я делал несколько часов: http://modxclub.ru/blog/vehicles/145.html
Дайте выгрузку из 1С в XML-е, и я сделаю импорт за несколько часов (само собой не за бесплатно).
Роман 08.09.2014 10:51 #
Николай 08.09.2014 11:46 #
владимир 17.11.2014 15:54 #
а импорт вайла xml поддерживает?