Несколько запоздало (в свете выхода 7-й версии) представляю свою сборку Drupal 6.x + Ubercart 2.x под названием OpenStore.
UPD от 22.01.2011 Качаем последний dev!
Более 2-х лет назад я столкнулся с такой штукой как Drupal пятой модели. Мой интерес был практический – сделать интернет-магазин, который можно было бы расширять по мере необходимости, имел бы понятную архитектуру, и тд… До этого у меня были непродолжительные романы с другими решениями для e-commerce вроде Oscommerce и проч., к которым я довольно быстро охладел.
Drupal был свеж, заманчив, обещал много разных благ, а в связке с Ubercart, похоже, должен был дать всё то, о чём я и не мечтал. Я решил смастерить свой свечной заводик в течении месяца-два… Но, господа, недаром Друпликон ухмыляется как Мона Лиза
Самостоятельная разботка интернет-магазина на основе Drupal для человека, незнакомого с API Drupal, и, тем более, с php, и, тем более, с базовыми знаниями CSS+HTML представляет собой кромешный ад и не может быть рекомендована, если вы хотите просто начать свой бизнес в сети, т.е вас интересует немедленный результат
Сборка OpenStore – это, образно говоря, попытка понизить пресловутый «порог вхождения» для систем на основе Drupal. При установке подключаются все нужные (как по мне) модули, делаются необходимые настройки путём записи соответсвующих значений в БД. Вы получаете готовый к употреблению магазин (во всяком случае так задумано), сэкономив КУЧУ времени, затраченное на курение мануалов, основная часть которых на английском и терзание Google
Аналогичные решения
На данный момент науке известны такие сборки на основе Drupal+Ubercart:
UberDrupal. Даже не сборка, а обычный инсталляционный профиль Ubercart, никак не решающий основных проблем при разработке интернет-магазина. Обновляется нечасто, обновления связаны с существующими багами, без внедрения дополнительных фич
http://drupal-shop.ru – пожалуй первая попытка создания сборки магазина. Система мне неизвестна, так как небесплатна. По всем внешним признакам (динамика публикаций, выхода обновлений и тд) похоже, что проект приостановлен либо перешёл в вялотекущее состояние.
http://www.drushop.ru — наиболее известное бесплатное решение на сегодня, но обладающий одним существенным недостатком — установочный профиль загружает готовый дамп базы данных, содержащий настройки системы. Этот наиболее лёгкий и одновременно наиболее плохой способ переноса конфигураций для реального сайта, несущий серьёзные потенциальные проблемы в будущем при обновлении и дебага сборки. По всем внешним признакам (динамика публикаций, выхода обновлений и тд) похоже, что проект приостановлен либо перешёл в вялотекущее состояние.
В сравнении с вышеуказанными сборками, OpenStore – это лучшее, что может случиться с вами. Реально. Объективно.
Возможности сборки интернет-магазина OpenStore
Возможности сборки как правило определяются теми фичами, которые дают модули, в неё входящие. Модули разрабатывались множеством совершенно разных людей из разных стран, так что проект можно сказать интернациональный
Дабы не утомлять сообщество перечислением фич, некоторые базовые возможности сборки указаны здесь
В чём изюм
Являясь завсегдатаем форума русскоязычного сообщества Drupal.ru, я постоянно вижу, как множественные парни и девушки, пронюхав о существовании чудесного движка Друпал, на котором даже не стесняются делать сайт американского Белого дома, пытаются создать свой интернет-магазин и натыкаются на одни и те же грабли и задают одни и те же вопросы, которые так или иначе касаются темизации.
Кто бы спорил, есть три вещи, на которые можно смотреть вечно:
1. как горит огонь
2. как течет вода
3. как кто-то пытается оттемизировать то, что породил Друпал
Между тем, сам Друпал обладает широкими возможностями для темизации, о коих многие неискушённые пользователи даже не догадываются. Поэтому в своей сборке я попытался уделить внимание этому аспекту.
В OpenStore широко используется функция hook_preprocess(), позволяющая самостоятельно определять или модифицировать существующие переменные, которые выводят различную информацию (картинки, цены, кнопка «Добавить в корзину» и многое другое…)
Например, вывести в произвольном месте кнопку «Добавить в корзину»
<?php print $show_cart_button; ?>
Или, вывести одним махом блок с «быстрыми закладками», содержащий характеристики товара, медиа-файлы, отзывы, дополнительные картинки
<?php print $show_product_tabs; ?>
Пример, как это это может выглядеть
Функция hook_preprocess() используется не только для страниц товаров, а и для профиля пользователя, а также для форм редактирования и добавления страниц.
Ваши контент-менеджеры, заполняющие страницы с товаров, теперь скажут вам «Спасибо, друг!». С помощью нехитрых php-сниппетов, наподобии указанных выше, вы можете переставлять поля и кнопки как душе угодно
Внешнее оформление для фронт-енда (видят покупатели) и бэк-енда (видят администраторы) разделено. Тема “Frontend” и “Administrator” соответсвенно
Тема “Adminastrator” (рабочее название “Антиблондинка”) – самая симпатичная тема продвинутого администратора на данный момент
Ужас, летящий в ночи, под названием “Garland”…улетел.
Я убрал все ссылки настроек, которые обычно пугают неокрепшие умы, в выдвижную панель наверху и она всегда незримо с вами. Теперь у нас 5 основных закладок перед глазами:
1. Управление
2. Магазин
3. Очереди
4. Заказы
5. Страницы
Закладка «Управление» – основная страница по адресу /admin, так называемая «Панель управления» размечена на регионы, в которые можно вставлять любые блоки. Подчёркиваю, любые.
По умолчанию там выведены блоки с диаграммами, показывающие статистику посещений от Google Analytics, графики состояния ситемы (пользователи, страницы, системный журнал), последние заказы, последние зарегистрированные пользователи, последние рассылки
2 типа переключения блоков:
1. Горизонтальные «быстрые» закладки на Jquery
2. Сворачивающиеся поля с эффектом запоминания (используются cookie) положения на Jquery
Закладка «Магазин» – страница по адресу /admin/store, где собрано всё, что касается именно Ubercart. Раньше это была скучная таблица, теперь — сексуальный интерфейс.
Закладка «Очереди» – управление позициями элементов в разных списках («Рекомендованные товары», «Новости» и тд) через удобный drag&drop интерфейс
Закладка «Заказы» – страница с последними заказами магазина
Закладка «Страница» – основной менеджер страниц магазина с фильтрами и массовыми операциями.
Если вы делаете магазина на заказ и применяете в нём «Adminastrator», думаю, ваш заказчик будет отсатисфачен по-полной.
Также, в сборке множество всяческих улучшений, о которых можно писать довольно долго и без которых сам по себе Drupal и Ubercart выглядит немного неопрятно, если не сказать топорно.
Установка
Всё как обычно. Скачиваете зелёненькое, распаковываете архив со сборкой куда надо, например в корневую директорию домена domain.com, затем набираете http://domain.com, выбираете профиль установки «OpenStore» и следуете дальнейшим инструкциям. Может потребоваться корректировка параметра max_execution_time в сторону увеличения.
В планах, помимо исправления текущих ошибок:
1) Написание глобальной документации для администраторов магазина. Скорее всего это будет встроенная справка, через модуль Advanced Help
2)Привести в порядок сайт проекта. Возможно переделать полностью. Многие страницы пусты из-за недостатка времени, чтобы в них написать что-то.
3)Разобраться с применением скидок, т.е упорядочить через Сonditional Actions и, в перспективе, через Rules (для 7-й версии)
4) Написать модуль, позволяющий делать нормальные фильтры, как это принято в обычных магазинах, т.е фильтр по диапазонам цен, производителям и тд.
5) Разобраться с массовым обновлением цен и наличия. В составе сборки есть такой модуль, но он требует улучшения
6)Предпринять попытку интегрировать таки с 1С
7) Поработать над внешним оформлением. Текущая тема Frontend впринципе неплоха как стартовая тема, в то же время есть понимание, что это может (и должно) выглядеть гораздо лучше. Ищу хорошего дизайнера!
Помочь проекту
1) Мне нужен фидбек от каждого, кому интересна эта тема. На основании вашей активности я решу, должна ли существовать и в каком направлении развиваться эта сборка. Будут версии для Друпал 7 и выше и на качественно новом уровне, но в том случае, если я увижу, что это будет реально востребовано.
2) Нужна помощь дизайнера. То, как это всё выглядет сейчас мне не очень нравится. Нужно разработать единый стиль всего проекта и сделать дизайн в графическом формате. Я имею ввиду внешний вид админки, самого фронтенда, сайта проекта. Я не могу платить за дизайн именно сейчас, поэтому предлагаю взамен такие блага:
- Общее оздоровление кармы за счёт участия в Open Source
- Почётное звание дизайнера проекта, со ссылкой на ваш ресурс с главной сайта проекта
- Ссылки на вас со страниц разработанных вами тем
- Лучшие рекомендации с моей стороны, приоритет в сотрудничестве в будущем.
- Всё разработанное вами может и ДОЛЖНО быть использовано в вашем портфолио. Незачем наполнять свой портфель, задёшево продавая свои умения. Сделайте для всех и без денег.
3) Нужна помощь программеров. Приоритетные задачи: интеграция с 1С, толковый импорт/обновление товарной базы. Плюс куча всего по мелочам. Форма сотрудничества оговаривается индивидуально, но принцип всегда один — «ты мне, я тебе»
…и ещё
Отзывы, замечания о найденных багах, пожелания просьба оставлять ТОЛЬКО в багтреккере проекта. Не оставляйте их в этом топике, мне их будет сложно отслеживать.
Проект реализован по общественной лицензии GNU . Никаких гарантий и ответственности за возможный ущерб до тех пор, пока вы не платите за софт.
Это beta релиз. Я долго и упорно работал над этой сборкой, было несколько глобальных переделок. Что-то могло затереться, очевидные вещи могут не работать или работать не так, как это ожидается. Всё же я решил сделать публичный релиз, чтобы народ посмотрел свежим глазом. Просьба относиться с пониманием.
Для опытных программистов: местами мой код не отличается изяществом. Буду рад конструктивным замечаниям по оптимизации этого.
Вот то, что я хотел сказать на данный момент.
Спасибо за внимание.
————————————
Важные объявления:
Разобрался в настройках Openstore сам и хочешь помочь другим? Нужны добровольцы для написания руководства пользователя интернет магазина на основе Уберкарт!
Сделал таки магазин с использованием сборки OpenStore?
Отправь своё детище на мыло openstore.org.ua@gmail.com c указанием своего логина на сайте проекта www.openstore.org.ua. Я размещу на этот магазин прямую ссылку с сайта проекта!
Источник: http://www.drupal.ru/node/55621
Добавить комментарий к записи "OpenStore – моя сборка Drupal+Ubercart (тот самый философский камень)"
Чтобы комментировать, необходимо войти в систему.