Представляю свой проект — бесплатный скрипт интернет-магазина OpenStore на основе Drupal и модуля Ubercart
Сайт проекта
Скачать
Багтреккер
Все мы знаем и любим Drupal, но, тем не менее, пару слов о нём:
Drupal – это CMS c большим уклоном в полноценный CMF (Content Framework System), c открытым и бесплатным кодом, мощнейшим API, модульной структурой, непревзойдённой безопасностью и, главное, с многочисленным сообществом профессионалов, которое создалось за 10 лет непрерывного развития этой системы.
Drupal входит в «святую троицу» систем для построения и управления сайтами: WordPress (блоги), Joomla (порталы), Drupal (всё что угодно).
В настоящее время существует решение, позволяющее создать на основе Drupal довольно функциональный интернет-магазин — модуль Ubercart. Официальная статистика показывает более 32000 установок (именно установок, загрузок на порядок больше), что является свидетельством популярности этого модуля.
Всё бы хорошо, если бы не одно НО:
вы не получите готовый интернет-магазин сразу после установки модуля Ubercart.
Новичку, не знакомому с программированием, CSS, HTML и, тем более, не владеющему английским, Drupal вообще и Ubercart в частности может показаться чрезвычайно сложной и запутанной системой. Также требуется установка многочисленных дополнительных модулей, некоторые из которых вообще напрямую не касаются интернет-магазина.
Всё это вызывает многочисленные вопросы, приводит к потере времени и, как следствие, к общему разочарованию.В сборке «OpenStore»я постарался учесть все эти «узкие места» и теперь, смею утверждать, это выглядит как полноценный и законченный интернет-магазин.
Сборка состоит из более чем 130 модулей, сердце системы Drupal 6.x и Ubercart 2.x.
Также имеются два других ключевых модуля, на которых базируется сборка:
- Установочный профиль OpenStore (profiles/openstore)
- Модуль General (sites/all/modules/general)
Установочный профиль, помимо начальной установки системы, занимается также установкой других необходимых модулей, а также выполняет общую конфигурацию интернет-магазина путём прямых записей в базе данных или обновления существующих значений.
Примеры выполняемых настроек: создание базовых ролей(групп), назначение им прав доступа, создание пользовательских профилей для персонала магазина, создание словарей для категорий, создание и настройка «очередей» для страниц, экспорт настроенных стилей вывода товаров (страницы и блоки), закачка файлов переводов с сервера проекта (openstore.org.ua) c последующим их импортом в базу данных, включение и распределение блоков по регионам страниц, а также множество других настроек.
Модуль General — это сборник различных функций, которые главным образом относятся к темизации вывода различных элементов магазина. Также этот модуль определяет и переопределяет многочисленные переменные, которые можно использовать в шаблонах страниц для вывода различных элементов.
Например, вывести кнопку «В корзину»
<?php print $show_button; ?>
Таким образом мы можем без труда манипулировать отображением различных элементов на странице товара, в форме добавления/редактирования страниц, в профиле пользователя.
В сборке 2 темы оформления:
- Frontend – базовая тема, которая показывается покупателям
- Administrator – великолепная тема для администратора
Теперь об основных возможностях сборки «OpenStore». Сразу оговорюсь, что, поскольку, модуль Ubercart базируется на API Drupal, он автоматически использует все возможности, которые предоставляет ядро Drupal. Кроме того, Ubercart сам по себе имеет довольно мощное API. Вы можете без труда расширять функционал вашего магазина используя API как Drupal, так и Ubercart
Корзина
Предусмотрено множество настроек корзины, например: дата хранения содержимого для авторизованных и анонимных пользователей, редирект, количество добавляемых товаров и т.д.
- Корзина в виде простого сворачивающегося блока
- Корзина в виде полностью настраиваемого блока с различными полями
- Ссылки корзины. Возможность генерировать ссылки с предустановленными действиями. Ссылки можно размещать на других сайтах.
Правила действий
Отдельный модуль позволяет задавать правила, по которым будут выполняться различные действия. При этом используется простейшая логика «И», «ИЛИ» и т.д…
- Расчёт стоимости доставки в зависимости от суммы заказа
- Расчёт наценки (в том числе отрицательной, для скидки) в зависимости от суммы заказа
- Отправка уведомлений (и SMS) хоть-куда на основании определённых действий
- Множество других действий и условий.
Пользователи, взаимодействие с пользователями
Drupal изначально создан для построения сообществ и сайтов с элементами социальной сети, поэтому имеет гибкую систему прав доступа и администрирования пользователей и предоставляет широкие возможности для взаимодействия с пользователями в стиле Web 2.0
- Регистрация и авторизация пользователей через Vkontakte,Twitter, Facebook, OpenId
- Отзывы к товарам
- Система отправки напоминающих писем, например при незавершённом заказе.
- Рейтинги товаров
- Форма торга (“Я видел этот товар дешевле”)
- Форма «Вопрос по товару»
- Социальные закладки
- Список желаний (WishList)
- Система баллов пользователей с удобным API. Баллы могут использоваться как скидки.
- Система подписки/отписки от рассылки магазина
- Опросы
- Автоматический кросспост публикаций на Twitter, ЖЖ, Facebook (например горячие предложения магазина)
- Разные RSS ленты: общая лента, новые поступления, отзывы для определённого товара и тд.
Способы оплаты
- WebMoney
- PayPal
- LiqPay
- Interkassa
- OnPay
- Квитанция банка. Шаблоны квитанций для Украины и России
- MoneyBooker
- 2checkout
- Authorize.net
- CyberSource
- Google Checkout
- Z-payment
- Western Union
Способы доставки
- Любое количество типов доставок, которые определяете вы
- Фиксированные ставки на доставку
- Ставки на доставку по габаритам и весу товара
Каталог товаров
- Сортировка товаров по цене и названии, по убыванию или возрастанию
- Выбор пользователем вида представления товаров: списком или сеткой
- Полный контроль над выводимыми элементов каталога: размер превью, теги, заголовок и тд.
- Изображения для категорий каталога
- Фильтр товаров по цене, производителю, названию
- Ajax — поиск товаров с автоподстановкой
- Генерация прайсов в формате .xls и .doc c тотальной настройкой всего.
Изображения
- Действия над изображениями: масштабирование, обрезка (crop), изменение размеров, поворот, отражение, переключение “пейзаж-портрет” и наоборот, ватермарк, наложение на другое изображение, закругление уголков, яркость, контрастность
- 2 стиля «увеличительного стекла» для просмотра большого оригинального изображения товара
- 2 стиля всплывающего окна для просмотра изображения товаров – FancyBox и SlimBox
Характеристики товаров
- 3 типа цены по умолчанию: стоимость товара, рекомендованная цена, продажная цена
- Неограниченные количество изображения товара
- Артикул
- Атрибуты
- Наличие на складе по атрибутам
- Свойства товаров (связанные загрузки, роли и тд)
- Под заказ/в наличии
- Товар в виде файла. Продажа файлов
- Любые поля товара (файл, текст, число и тд). Вы можете сами добавить столько полей, сколько хотите.
Предустановленные блоки
- Вы можете добавить любой свой блок вручную или модулем
- Новости магазина
- Рекомендованные товары
- Последние заказы
- Последние поступления
- Самый рейтинговые товары
- Самые популярные товары (по просмотрам)
- Самые большие скидки
- Горячие предложения
- Карусель с акцентированными товарами (на Jquery)
- «С этим товаром также покупали»
- Подписка/отписка от рассылок
- Опрос
- Похожие товары
- Скидки для товаров с такой же категорией
- Контекстный СЕО-текст
- Контекстные статьи
- Скачать прайс
- Контакты магазина
SEO
Существует множество готовых модулей на сайте drupal.org, которые позволяют улучшить позиции в выдаче для вашего сайта. Они могут быть установлены дополнительно.
- ЧПУ(Человеко-понятные УРЛ) с тотальными настройками конвертации пунктуации, транслитерации, шаблонами генерации категорий и страниц.
- Ключевики и meta-теги для каждой категории или любой избранной страницы.
- Генерирование ключевиков и описания автоматически по шаблонам
- Таксономия. Сквозная система категоризации страниц сайта.
- Облака тегов
- XML карта сайта
Администрирование
- Лёгкое изменение внешнего вида и расположения элементов формы добавления товаров
- Режим автоматического генерирования артикулов
- Массовая работа со страницами сайта: изменение, удаление, смена категорий и тд.
- Очереди товаров. Лёгкое добавление/удаление через «быстрые ссылки» на Jquery и drag&drop интерфейс
- Лучший визуальный редактор Ckeditor
- Полнофункциональный файловый браузер с профилями доступа к директориям и операциям
- Приятная админка с главной информационной панелью на блоках
- Выпадающая панель с расширенными настройками
- Отчёты по продажам со ссылками на отдельные отчёты
- Отчёты по доходам
- Массовое обновление цены и наличия
Скидки
- Скидки по баллам
- Накопительные скидки
- Скидки по ролям (группам) пользователей
- Купоны
- Наборы товаров
Встроенные инструменты разработчика
- Просмотр сайта под любым пользователем
- Режим разработки тем. Визуальный просмотр массивов форм, переменных шаблонов и тд… Аналогично Firebug, только для PHP и API системы
- Встроенный Krumo (удобная альтернатива print_r)
- Генерирование любого количества пользователей, страниц, картинок, заказов для имитации наполнения сайта
- Статистика по качеству, количеству и продолжительности запросов к БД
- Статистика по использованию памяти
Статистика системы
- Журнал системных событий, в котором фиксируются все события в системе (включая ошибки php) Сообщения разделяются по уровню важности
- Топ пользователей
- Топ просмотренных страниц
- Топ ключевых слов, по которым пришли на сайт
- Пользователи онлайн
- Статистика по опубликованным/неопубликованным страницам, сообщениям в системном журнале, важности сообщений, ролям пользователей, активности на сайте, статистика Google Analytics в виде настраиваемых диаграмм (5 видов!)
- Модуль интеграции с Google Analytics, в том числе для отслеживания конверсии
Резервирование данных
- Резервирование базы данных по расписанию с сохранением копии в локальную директорию
- Резервирование базы данных по расписанию с отправкой копии по e-mail
- Резервирование базы данных по расписанию с загрузкой копии на FTP
- Ручное резервирование
- Восстановление из резервной копии
- Множество различных настроек, например число одновременно сохраняемых копий, периодичность резервирования (до 1 сек), включаемые/исключаемые таблицы
Партнёрская сеть
- Многодоменность. Вы можете установить несколько магазинов с разным дизайном и на разных доменах, но управляться это всё будет с одного места.
- Партнёрская многоуровневая программа
Производительность
- Сжатие о объединение css
- Сжатие и объединение java script
- Gzip страниц налету
- 2 режима кэш
Полный контроль над выводом
- Полный контроль над тем, что, где и в каком виде выводить. Вы можете определять свои блоки и даже целые страницы.
- Стили вывода: сетка, неформатированный список, список обычный, список с цифрами, список аннотаций, список целых страниц, RSS фид, Jquery-карусели в более чем 20 стилями прокрутки.
Некоторые замечания
- В первой версии скрипта отсутствует мультивалютность. Она будет во второй ветке, которая будет базироваться на свежей 7-й версии Drupal.
- Многоязычность возможна, но сам механизм реализации её в Drupal пока накладывает определённые ограничения и приводит к усложнению поддержки таких многоязычных сайтов
Приглашаю скачать и испробовать сборку.
Свои предложения, пожелания, найденные ошибки просьба постить в багтреккере проекта — там мне их будет удобнее отслеживать.
Спасибо за внимание.