Расширения для интернет магазина на Yii

10.02.2014

Обещал продолжить цикл статей про интернет магазин на yii, думал-думал что же тут сложного - так и не понял.

Вообще тема интернет магазинов мне никак не интересна, да и честно сказать я бы не стал писать магазин с нуля, когда есть куча готовых платных и бесплатных решений с огромным количеством встроенного функционала.

Это ПОСЛЕДНЯЯ статья по данной тематике, в которой мы рассмотрим некоторые расширения для yii, нужные для построения интернет магазина. По всем им есть отличная документация, поэтому здесь будет небольшой обзор и не более.Дальше блог будет двигаться в сторону хайлоад, технологий для построения крупных приложений, а также планирую посмотреть работу с некоторыми API.

Nested Sets

Как многие знают есть два основных подхода к созданию каталогов: использование parent_id и использование nested sets.

Первый подход заключается что для каждой записи есть поле parent_id (id-родителя), собственно мы можем построить любой иерархический список. Это достаточно простой способ построения каталогов, но он хорошо работает.

Использовать nested sets я начал чуть больше года назад, для yii есть отличное расширение - https://github.com/yiiext/nested-set-behavior. Да, логика работы с данным расширением чуть сложнее, но это всё берёт на себя подключаемое поведение, и нам только остается пользоваться крутым встроенным функционалом.

Данное расширение можно использовать для любых сложных списков: каталог, комментарии и т.п.

EAV

Часто нужно задать большое количество полей для разных видов записей. Плюс поля должны быть разными для каждого вида (типа), одним словом динамическое число характеристик товара, или записи. Как раз для этих целей используется принцип моделей EAV (Entity–Attribute–Value, Сущность-Атрибут-Значение).

И конечно же не надо изобретать велосипед, берём готовое расширение - http://yiiext.github.io/extensions/eav-behavior/readme.ru.html

Shopping Cart

Одна из главнейших частей интернет-магазина это корзина. Основные функции: положить товар в корзину, вернуть все позиции, удалить/обновить позицию и посчитать общую стоимость товара в корзине. Также есть уже готовое решение - http://yiiext.github.io/extensions/shopping-cart-component/readme.ru.html. Пользуется, дописываем если чего не хватает.

Заключение

Вот на этих трёх расширениях можно собрать готовый магазин. Они имеют очень хорошую документацию на русском и английском языках.

Кроме того ниже представлен список CMS’ок магазинов, написанных на yii, смотрите код, смотрите как что сделано и пилите свой велосипед :)

blog comments powered by Disqus
Наверх