EximusCommerce: платформа для интернет магазинов на Yii фреймворке

Владимир | | Yii, Разное.

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

Но вернёмся к теме статьи. Называется система – EximusCommerce. Ориентирована она на решение конкретной задачи – создание интернет-магазинов. Т.е. использовать её в качестве замены какой-нибудь CMS не получится, но за счёт этого система работает быстрее и интерфейс не будет проще.

Рассмотрим основные моменты работы с EximusCommerce.

Установка

Процедура достаточно простая. В корне папки с EximusCommerce есть инсталлятор, который нужно просто запустить:

site.name/install.php

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

Админка

Доступна по адресу — site.name/admin

Выглядит следующим образом.

На данном скриншоте показана страница со списком товаров. Как видите, есть возможность фильтрации по всем полям таблицы. Очень неплохо реализован поиск по категориям (виджет слева). Когда вы начинаете вводить название, дерево категорий разворачивается и нужная ветка выделяется жирным шрифтом.

Примерно в таком же стиле оформлены и остальные страницы админки.

Теперь рассмотрим основные возможности.

Я не хочу просто перечислять пункты меню и рассказывать, зачем они нужны. Названия на русском языке и достаточно понятные 🙂 . И очевидно, что система управления магазином предоставляет возможности создания и редактирования товаров и категорий, работы с заказами и скидками.

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

Шаг 1. Вы создаёте атрибут, например, «Рейтинг».

Шаг 2. На странице опций атрибута указываете перечень нужных значений.

Этот шаг нужно выполнить, если атрибут выводится в виде выпадающего списка или радиокнопок.

Шаг 3. На странице «Типы продуктов» выбираем тип, для которого нужно установить новый атрибут.

Затем кликаем по названию нового атрибута в списке «Доступные атрибуты», после чего оно появится в списке «Атрибуты продукта».

Теперь на страницах редактирования и создания новых продуктов данного типа появится выпадающий список «Рейтинг».

Шаг 4. Проверяем результат.

Как видите, в виджете с атрибутами (справа от карточек товаров) появился новый список «Рейтинг». Ссылки в этом списке являются фильтрами.

SEO

Раскручивать магазин система за вас не будет, но есть возможность установить метаданные (Title, Keywords, Description) практически для всех страниц.

Также можно в некоторой степени управлять формированием ссылок. Например, для страниц категорий ссылка задается в поле URL.

Приём оплаты

На данный момент поддерживаются 2 системы автоматизированного приёма платежей: WebMoney и Robokassa.

Также можно указать и обычные варианты: «наличная» и «безналичная».

Автоматизация

EximusCommerce позволяет выполнить экспорт/импорт данных в csv формате.

Это одна из очень востребованных возможностей. Дело в том, что при большом количестве товаров их очень неудобно редактировать через web интерфейс (каким бы хорошим он ни был). Точнее, гораздо удобнее и быстрее редактировать их в Excel'е или какой-нибудь специализированной системе. А преобразовать данные Excel'я в csv формат с нужными разделителями можно парой кликов мышки.

Также в стандартной поставке есть модуль поддержки очень популярной у нас системы , который позволяет импортировать продукты.

Управление пользователями

EximusCommerce позволяет создавать пользователей и очень гибко управлять их доступом к системе. Возможно, даже слишком гибко 🙂 Фактически вы можете разрешить/запретить любое действие в системе любому пользователю.

Проблема в том, что автор системы фактически создал web интерфейс для стандартной аутентификации и авторизации Yii. Т.е. это означает, что опыт программирования работы с Yii для гибкой настройки доступа обязателен, т.к. вам придётся указывать бизнес-правила при создании задач и, конечно, нужно общее представление о работе этой системы.

Хотя, если вам не нужны бизнес правила, то система позволяет сгенерировать список всех доступных действий (actions) и отметить нужные чекбоксами.

Оформление магазина

Естественно, каждый интернет-магазин должен быть в какой-то степени уникальным. Поэтому возможность изменить дизайн очень важна.

EximusCommerce поставляется с довольно симпатичной темой, жаль только что она одна. И т.к. система новая, найти готовую тему сейчас вряд ли удастся. В будущем, возможно, ситуация изменится, но пока единственный вариант – создать собственную тему самостоятельно.

Создать шаблон новой темы можно с помощью команды

yiic theme themeName

В результате в папке themes появится новая папка themeName с файлами темы. Структура папок будет следующей.

Как видите, эта команда копирует представления всех модулей системы. Правда почему-то не копируется папка assets из темы default, в которой находятся css и js файлы. Но это можно сделать и вручную.

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

Теперь у вас два варианта действий.

Вариант 1. Если вас устраивает html разметка, можно ограничиться изменением CSS стилей (находятся в папке assets). В этом случае навыки программирования и знания фреймворка не нужны. Впрочем, какие-то кардинальные изменения сделать не удастся. И, конечно, этот вариант не подойдёт, если у вас уже есть сверстанный html-макет.

Вариант 2. Изменять и представления (папка views) и стили. Тут главное преимущество в том, что ваши возможности практически не ограничены. Но при этом, хотя бы в общих чертах, нужно понимать принципы работы Yii. Желательно иметь опыт работы с этим фреймворком. Также учтите, что на фронтенде используется JavaScript, и если вы меняете разметку, не забудьте учесть эти изменения в JS файлах.

Есть ещё один вариант для «тонкой» настройки внешнего вида. В админке для различных видов страниц можно указать собственные шаблоны. Для этого на вкладке «Дизайн» нужно указать путь к нужным файлам в формате Yii. Например, так:

webroot.themes.themeName.custom_layouts.some_layout

Выводы

Как и любой другой системы, у EximusCommerce есть свои достоинства и недостатки.

Преимущества:
— высокая скорость работы;
— простой и понятный интерфейс;
— есть все необходимые инструменты для решения конкретной задачи – создания интернет-магазина;
Недостатки:
— для более-менее серьёзного изменения дизайна нужны навыки программирования и представление о фреймворке Yii;
— отсутствие документации;
— цена.

В заключение хочу пожелать автору удачи в развитии системы!

* на правах рекламы

  • Если ребята заведут какую-нить программу скидок для вебмастеров, то продукт будет очень интересен.
    Или хотя бы разбить на модули, чтобы получалось дешевле.
    Пока дороговато, учитывая, цены на фриланс биржах на магазины.

    • Скидки есть — 40%. Для фрилансеров, веб-студий, в общем для всех заинтересованных =)

      • А на сайте ничего о скидках нет 🙂

        • Есть на главной странице «Партнерство», к сожалению не совсем очевидно.

  • Mikhail Moiseev

    а что мне помешает, кроме совести, использовать ее на боевом сервере, не покупая лицензию?

    • Sergey Grigoryev

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

      • Андрей

        ммм — а зачем же мы тогда изучаем Yii ?)))

        Я считаю такие проекты должны жить за счет подношений или уже разработка модулей и т.д.

        Всегда буду рад дать копейку людям что потратили свое время вместо меня…

        • Я всё-таки считаю, что каждый автор сам имеет право решать за счёт чего будет жить его проект.
          При этом последствия, к которым приведёт такое решение, тоже будет проблемой автора 🙂

          Но нарушать лицензии в любом случает не правильно.

    • Андрей

      +1

  • Похоже, что схема действительно хорошая. Немного огорчает отсутствие документации — для не сильно продвинутых пользователей это проблема. И ещё. Я сталкивался с такой проблемой, что фреймовые сайты не достаточно хорошо индексируются. А ведь это тоже важно.

  • taral14

    К сожалению сейчас cms полна багов. Многие с которых критичны.
    Начиная с самых безобидных типа указания 1 атрибута для разных типов товаров. Хотя интерфейсом это запрещено, достаточно открыть редактирование с 2х страниц.
    Также в некоторых ситуациях система вообще накрывается и выдает php код (O_o) в браузер. Помогает только очистка кукисов.
    Скидки сделаны неплохо, и цена товара заботливо изменяется в каталоге и подробнее, но фильтр по цене работает со старой…
    В очень многих местах встречается геренация url адресов не средствами yii, а вводом строки типа /product/update/1/. И конечно это не работает на доменах где скрипт находится не в корне (mydomain.com/folder/).
    Печально также то что все эти баги были обнаружены после 20 минутного изучения cms.

    • Спасибо за тест. Баги есть, оправданий себе не ищем и исправляем. Первый релиз все-таки.
      По поводу php кода в браузере — это демо-версия и там вместо вывода ошибки текстом прописан var_dump.
      Пропись ссылок вручную — на фронте скорей всего такой ошибки нету, там все урлы создаются через createUrl, в админ панели — возможно. Система не создавалась для работы из поддиректории.

  • Вот ток что по тестил демо и админку — на сайте разработчика…

    ИМХО — ваше не доволен — магазин ? а где система списка параметров ? груп их ? разбивка по категориям ? — тоесть фильтра по сути нету …

    далее…

    Система пользователей ? добавить удалить бан группы — ничего… и за это 300214 $ ? ребят да вы издевайтесь… 90 % кода сгенерировано крудом…

    Да приятный интерфейс… да есть расслыка.. и еще чет там… но по сути — Bootstrap + Yii ! больше ничего не увидел…

    Очень жаль…

    • генератор кода не использовался.
      группы и права доступа в системе есть и очень гибкие.

      с параметрами тоже все окей. вместо категорий параметров мы используем «Типы продуктов», которые состоят из параметров.

  • Дима

    Я тоже считаю что дороговато.

    • Есть скидки 40%. Также скоро новый релиз.

  • Николай

    С обновлением фреймворка я так понимаю проблемы) Вообще проектик интересный. Но еще очень сырой. Даже не смотря на то что уже 3 релиз. В моей голове водится пара мыслей о развитии данного направления. Впринципе даже после работы могу поучаствовать в развитии проекта.

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

  • Макс

    Отличный продукт, но дороговат.
    Мне не хватает продажи цифровых товаров. Учитывая, что это yii можно было бы и самому дописать, но платить 300$, что бы потом допиливать не хочется.
    Хотя стандартный функционал очень хорош. У меня был инет магазин и много делал для других. Могу сказать, что тут многое удобно.
    Для пользователя главное: отличный фильтр
    Для админа Удобно, что выбор характеристик перед тем,как заполнить все остальное.
    Те кто не работал с инет магазинами меня не поймут, но это главный «изюм» проекта.