Пока кипят обсуждения о том, что лучше MODX Revo или MODX Evo, я в очередной раз хочу отметить, что хоронить Evo еще рановато. Для тех, кто считает также и до сих пор любит младшее поколение этой CMS, я хотел бы представить свою разработку, которая позволит превратить MODX Evo в полноценный интернет-магазин.
У этого решения есть как свои плюсы, так и минусы, но я искренне надеюсь, что найдутся те, кому проведенная работа будет интересна и полезна.
Итак, это первый наш релиз, поэтому возможно вы еще ничего не слышали об SBShop. Предлагаю познакомиться немного поближе.
На тот момент, когда я начал работать над SBShop, а было это 2,5 года назад, очень не хватало действительно серьезного решения для разработки интернет-магазина на базе MODX Evolution. Но переходить на иные полноценные решения не очень хотелось, так как MODX — это наше все (и гибкость, и простота, и мощь), а также я был отягощен былым опытом работы с интернет-магазинами в студии.
А нам нужно было решение для разработки интернет-магазина.
В итоге, посмотрев на разные решения, я решил, что лучше будет заняться своим велосипедом, чтобы воплотить свои идеи, чем бороться с другими решениями и уходить от Evo.
Что из этого получилось — судить вам.
Стоит отметить, что далеко не все еще концепции воплощены и над многим еще нужно будет поработать, но основные возможности можно оценить уже сейчас. Особенно этот пункт касается тех, кто активно занимается разработкой на MODX.
В первую очередь вы встретите здесь новый вид расширения, с которым вам скорее всего еще не доводилось встречаться. SBShop — расширение ядра MODX в первую очередь. Благодаря этому вы можете получить доступ к любым данным интернет-магазина через $modx->sbshop. Есть также модуль для управления и вспомогательный плагин со сниппетом. Это важная особенность, которая создает некоторые нюансы.
Кроме того, стоит отметить, что все разделы, товары, заказы и т.д. хранятся в отдельных таблицах. Это вторая важная особенность.
В итоге товаров можно создавать огромноеover 9000 количество, так как они не привязаны к ресурсам MODX, но при этом многие стандартные расширения MODX ничего не знаю о магазине. Они не могут сделать для него меню или обеспечить поиск. Для всего этого требуются отдельные решения.
Оно есть. Не смотря на то, что все данные в отдельных таблицах вы получите каталог с привычным ЧПУ, как на обычных страницах.
К сожалению стоит признать, что в первой версии его попросту нет. То есть все страницы генерируются постоянно и это минус. Запросов не много и все они достаточно легкие, поэтому интернет-магазин может работать временно и так. Кроме того, пока экстренного запроса на добавление кеширования не поступало. В следующих версиях оно обязательно появится.
Расширение ядра позволяет использовать собственное API SBShop. Это дает возможность сделать какие-то дополнительные решения. Допустим легко можно сделать сниппет, который будет делать врезку о товаре прямо в содержимое текстовой страницы.
Здесь вы увидите привычные плейсхолдеры, как и везде в MODX. При этом сами шаблоны хранятся в файлах, что позволит удобнее их редактировать. Также частично используются и шаблоны самого MODX. Что интересно в шаблонах SBShop легко можно делать вызовы любых сниппетом и чанков, как обычно.
Вот с ней откровенно плохо. Все имеющееся время уходило на разработку и до документации руки просто не доходили. Я сам, разумеется, легко без нее обхожусь, но просто так сходу освоить это решение не так просто как некий обычный сниппет вроде Ditto. Единственное, что я всегда охотно иду на дискуссию и стараюсь помочь консультацией и советом тем, кто в них нуждается.
Перейдем от технических моментов и попытаемся понять что SBShop может предложить, если пытаться сравнить его с другими решениями для разработки интернет-магазинов.
Чего еще нет:
Сделана очень условно для экономии времени. Но в управлении можно легко потренироваться и понять что в результате получилось.
Буду рад любым полезным советам, идеям, предложениям и если кто-то возьмет на вооружение эту разработку. Все бесплатно и открыто — GPL.
UPD1: Периодически админка недоступна (заблокирована). Некоторые посетители тренируются в ее блокировке, так как все открыто. Пытаюсь минимизировать влияние механизма блокировки.
UPD2: Вход упрощен. Должно все работать.
UPD3: Демки больше нет пока, так как она не дает кому-то покоя, что приводит к ее моментальной поломке. Видимо эта публикация кого-то расстроила или перешла кому-то дорогу.
У этого решения есть как свои плюсы, так и минусы, но я искренне надеюсь, что найдутся те, кому проведенная работа будет интересна и полезна.
Итак, это первый наш релиз, поэтому возможно вы еще ничего не слышали об SBShop. Предлагаю познакомиться немного поближе.
Для чего SBShop нужен?
На тот момент, когда я начал работать над SBShop, а было это 2,5 года назад, очень не хватало действительно серьезного решения для разработки интернет-магазина на базе MODX Evolution. Но переходить на иные полноценные решения не очень хотелось, так как MODX — это наше все (и гибкость, и простота, и мощь), а также я был отягощен былым опытом работы с интернет-магазинами в студии.
А нам нужно было решение для разработки интернет-магазина.
В итоге, посмотрев на разные решения, я решил, что лучше будет заняться своим велосипедом, чтобы воплотить свои идеи, чем бороться с другими решениями и уходить от Evo.
Что из этого получилось — судить вам.
Технические особенности
Стоит отметить, что далеко не все еще концепции воплощены и над многим еще нужно будет поработать, но основные возможности можно оценить уже сейчас. Особенно этот пункт касается тех, кто активно занимается разработкой на MODX.
Расширение ядра и хранение данных
В первую очередь вы встретите здесь новый вид расширения, с которым вам скорее всего еще не доводилось встречаться. SBShop — расширение ядра MODX в первую очередь. Благодаря этому вы можете получить доступ к любым данным интернет-магазина через $modx->sbshop. Есть также модуль для управления и вспомогательный плагин со сниппетом. Это важная особенность, которая создает некоторые нюансы.
Кроме того, стоит отметить, что все разделы, товары, заказы и т.д. хранятся в отдельных таблицах. Это вторая важная особенность.
В итоге товаров можно создавать огромное
ЧПУ
Оно есть. Не смотря на то, что все данные в отдельных таблицах вы получите каталог с привычным ЧПУ, как на обычных страницах.
Кеширование
К сожалению стоит признать, что в первой версии его попросту нет. То есть все страницы генерируются постоянно и это минус. Запросов не много и все они достаточно легкие, поэтому интернет-магазин может работать временно и так. Кроме того, пока экстренного запроса на добавление кеширования не поступало. В следующих версиях оно обязательно появится.
API
Расширение ядра позволяет использовать собственное API SBShop. Это дает возможность сделать какие-то дополнительные решения. Допустим легко можно сделать сниппет, который будет делать врезку о товаре прямо в содержимое текстовой страницы.
Шаблоны
Здесь вы увидите привычные плейсхолдеры, как и везде в MODX. При этом сами шаблоны хранятся в файлах, что позволит удобнее их редактировать. Также частично используются и шаблоны самого MODX. Что интересно в шаблонах SBShop легко можно делать вызовы любых сниппетом и чанков, как обычно.
Документация
Вот с ней откровенно плохо. Все имеющееся время уходило на разработку и до документации руки просто не доходили. Я сам, разумеется, легко без нее обхожусь, но просто так сходу освоить это решение не так просто как некий обычный сниппет вроде Ditto. Единственное, что я всегда охотно иду на дискуссию и стараюсь помочь консультацией и советом тем, кто в них нуждается.
Возможности интернет-магазина
Перейдем от технических моментов и попытаемся понять что SBShop может предложить, если пытаться сравнить его с другими решениями для разработки интернет-магазинов.
- управление разделами и товарами
- простое управление характеристиками (действительно простое)
- удобное управление изображениями и файлами для товара
- опциональные комплектующие для товара
- готовые комплектации с определенным набором комплектующих
- массовое регулирование цен с помощью надбавок
- управление заказами
- экспорт в YML
Чего еще нет:
- кеширование
- поддержка платежных систем
- учет доставки
- регистрация пользователя и личного кабинета
- интеграция с 1С
Демо-версия
Сделана очень условно для экономии времени. Но в управлении можно легко потренироваться и понять что в результате получилось.
- Демо-версия, админка (admin / demo)
- Проект на GitHub
- Прямая ссылка на скачивание SBShop 1.0, а также в официальном репозитории MODX
- Блог SBShop с полезной информацией
Итог
Буду рад любым полезным советам, идеям, предложениям и если кто-то возьмет на вооружение эту разработку. Все бесплатно и открыто — GPL.
UPD1: Периодически админка недоступна (заблокирована). Некоторые посетители тренируются в ее блокировке, так как все открыто. Пытаюсь минимизировать влияние механизма блокировки.
UPD2: Вход упрощен. Должно все работать.
UPD3: Демки больше нет пока, так как она не дает кому-то покоя, что приводит к ее моментальной поломке. Видимо эта публикация кого-то расстроила или перешла кому-то дорогу.