Drupalife Store - легковесный и простой дистрибутив интернет-магазина

Всем привет, давненько я не писал. Было лень, да и ничего в голову не приходило, но я не забил на блог. После такого простоя вернусь с записи-анонса, ведь без дела я тоже не сидел.

После месяца, а то и двух, я все же решился анонсировать вам свою сборку интернет-магазина на базе Drupal Commerce. Работу над ней начал примерно под конец января, и не спеша делал и вот уже сейчас есть версия, которая безупречно устанавливается, разворачивает весь функционал и реально работает. Т.е. даже годится для продакшена.

Почему я сделал сборку и какие ставил цели

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

Разумеется, первоочередными целями были получение нового опыта с Drupal и постараться сделать что-то реально полезное для русского сообщества Drupal. По поводу опыта, я, конечно же, могу заверить, получил я его в достаточном количестве. Делать сборки действительно интересно и увлекательно. Создавая сборку я изучил друпал намного глубже чем я его знал ранее, примерно раза в полтора, а то и все два. Чтобы сделать сборку пришлось изучать базу друпала, руками просматривать что да как строится и хранится, а раньше я с базой не особо то и работал ибо боялся там что-то нарушить. Сейчас же страха уже не осталось. А по поводу полезности сборки, это уже решит само сообщество и те люди кому это интересно. Если это хотя бы кому-то окажется полезным решением и поможет в чем-либо, я буду очень рад.

После, скажем так, не очень легкого решения делать сборку, ведь информации о разработке дистра очень мало (приходилось разбирать другие сборки и анализировать), я начал думать, что мне делать. Востребованность на интернет-магазины очевидна, но ведь уже есть Commerce Kickstart,  Commerce Box и т.д. Получается делать, то, что уже сделано как-то глупо и я начал анализировать этих двух товарищей.

С первым я знаком с момента выхода самого drupal commerce, ведь он был его первой демкой и первым дистрибутивом, при всем при этом он еще и официальный. Но как-то у меня с ним не срослось, сколько я не пробовал, никогда (я не вру) он не устанавливался до конца без ошибок. Постоянно прерывался на какой-либо операции и все шло в тартарары. Мне это, разумеется, не понравилось и я пошел к другому собрату — Commerce Box.

Commerce Box делают наши друзья из Украинского сообщества. Скажу честно, я её не устанавливал, я читал отзывы о ней и смотрел 2, а то и 3 доклада от самих же разработчиков. Они сами говорят что там сейчас полнейшая Ж, устанавливается порядка 300 модулей (!), хотя по демо-сайту я не особо понял, для чего там такое количество модулей. Я приверженец делать сайт с минимум модулей. Так вот, такое количество модулей, плюс то что сейчас они его координатно перепиливают и неизвестно когда допилят, и допилят ли вообще тоже как-то скинуло его из моего видения и я начал гнуть свою палку.

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

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

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

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

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

Установка

Установка абсолютно ничем не отличается от стандартной. Вы качаете дистрибутив, и в момент установки просто появляется новый пункт.

После выбора дистрибутива у вас появятся новые этапы установки и выбор языка. Так как в первую очередь сборка на Россию и страны СНГ, то я залил полный файл переводов на Русский язык всего функционала магазина и его интерфейса.

Как вы можете заметить я вывел здесь предупреждение, и оно тут не спроста. В момент установки профиля, друпал просит единый файл переводов, в скупе с переводами для комерца и прочих модулей, выходит файлик размером в 53 000 строк переводов. Как вы могли уже догадаться, это очень прилично, и операция по импорту такого количества переводов в один поток занимает 20-30 минут на достаточно уверенном компьютере. Поэтому, если вдруг вы выбрали русский и импорт языка стоит на 0%, не пугайтесь, он импортирует и потом сразу станет 100%. Самый простой и правильный вариант указан в этой самой подсказке. Достаточно установить на английском, а затем при помощи модуля перевести его на русский, а в дальнейшем этот модуль и вовсе сам будет подкачивать обновления для переводов. Я уже серьезно задумался добавить его к сборке и подключать его функционал на момент установки в обход стандартным языковым импортам.

После выбора языка все этапы будут совершенно вам знакомы: настройка базы, установка, создание админка и указание базовых настроек сайта. Затем открывается новый этап, в нем доп. возможности сборки. Сразу хочу отметить, если вы здесь пропустите какие-то настройки, то в дальнейшем добавить их уже в автоматическом режиме будет нельзя и придется вам их делать руками. Поэтому хорошо подумайте что нужно, а что нет. Это, кстати, одна из тех особенностей что я писал выше. Эти возможности не привязаны к Features и после установки их можно менять как вам угодно и они не откатятся в первоначальное состояние при апдейте.

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

  • Настройка поиска:

  • Стандартный поиск Drupal, тут и рассказывать нечего.

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

  • Также, по умолчанию выбран стандартный для друпала вариант — никаких редакторов.

  • CKEditor — известный почти всем и каждому редактор. Пока что я добавил только его. Выбор тут просто очевиден, мне нравится, у меня есть статьи про его настройку, он в ядре Drupal 8. С другими редакторами не знаком, но возможно погляжу в сторону BUEditor и TinyMCE как вариантов выбора.

После этого перед вам будет установленный сайт.

Дизайн и оформление

Как я уже писал, я сделал тему для дистрибутива, поэтому вас встретит не бартик, а соответствующая тема.

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

Очень много внимания уделено различным частям темы. Например табы, пейджеры, бутоны и элементы форм, все темизировано, вплоть до результатов выдачи от поиска (при выборе DisplaySuite Search). Вот например тот самый поиск.

Всё это оттемизированно при помощи сабтемы zen и модуля Display Suite. Поэтому кто имеет опыт в верстке, легко сможет заменить оформления любой части сайта на свою.

Что уже есть

Так как это все сделано на Views, вы легко сможете откорректировать до нужного вам вида, добавить фильтры и т.д.

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

Данная страница, вероятнее всего в последующих версиях получит новые информационные блоки, например, “вы недавно смотрели” или “смотрите также”.

Страница контактов выполнена в очень простом виде.

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

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

SEO

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

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

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

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

Подводя итоги

На данный момент последняя версия Alpha 3. То что альфа не пугайтесь, по сути все ок и пашет, просто еще в планах много чего добавить из основных фич. Может частично фичи будут вынесены в варианты выбора после установки единоразово, чтобы было проще всем.

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

Демо и загрузка: Drupalife Store

Оставайся на связи

Будь всегда в курсе новых материалов! Подписывайся на каналы\паблики\рассылки чтобы получать оперативные оповещения.

Комментарии

Ответ на от ICaR-Soft.ru (не проверено)

N
Niklan 02.08.2015 - 19:08

И оказалось, что он встал в
"...site_name\www\profiles\drupalife_store\modules\contrib\"
Т.е. не в "...sine_name\www\sites\all\modules\"

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

Вообще, все проблемы скорее от винды и denwer. Это распространенная причина всех проблем и ошибок. Если у вас какие-то проблемы, которые вы думаете что являются ошибкой сборки - пробуете воспроизвести на simpletest и если получается, пишите пошагово как ошибку воспроизвести. Но вероятность что там будут те же ошибки что и на денвере, ничтожна.

Ответ на от Niklan

Д
Данил 10.08.2015 - 15:08

Доброго времени суток.
Совсем новичок. Не подскажете, где и как скачать Вашу сборку и как запустить этот магазин на хостинге?

Ответ на от Данил (не проверено)

Д
Данил 11.08.2015 - 10:08

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

Н
Никита 12.08.2015 - 01:08

После достаточно длительного нормального полета обнаружилась такая ошибка. При добавлении поля в карточку (Тип ссылка на термин) и выставлении CheckBox/RadioButton в режиме CheckBox(при множественном выборе без значения по умолчанию) вылезает ошибка при сохранении товара "Сделан недопустимый выбор. Пожалуйста, обратитесь к администратору сайта." В режиме RadioButton - все работает, но когда обратно переключаешься- дает ставить только то значение, которое было в Radio. Причем проявлялось это постепенно, сначала в новых полях, потом и в старых. Попытка погуглить привела к такой ссылке про эту же сборку: http://www.drupal.ru/node/114660. Соответственно вопрос - что делать с этим?

Н
Никита 12.08.2015 - 01:08

И действительно, меняешь тему и все работает, даже можно просто поставить галочку "Использовать административную тему при редактировании или создании материала". Но все таки баг :) .

Д
Данил 12.08.2015 - 07:08

В бэта версии при добавлении содержимого не даёт выбрать категорию товара и соответственно не создаёт саму карточку товара.

Д
Данил 12.08.2015 - 23:08

Пробовал установить Dev версию, с самого начала установки не устанавливается. Выбираешь устанавливать Друпалайф и в сл. окне ничего не происходит, просто останавливается установка и всё. При установке Стандарта и Минимала установка дальше идёт.

Т
Тимур 17.08.2015 - 20:08

Здравствуйте, возник такой вопрос:
В вашей сборке создаю отдельную категорию для материалов(не товар, простой контент) с новым словарем в таксонамии, сделал новый тип содержимого и прикрутил к этим терминам. Сделал через Views представление терминов таксонамии. Но при переходе по по этим терминам(категории) выдает страницу "Товары в данной категории отсутствуют", с чем это связано? Нужно настраивать как то по другому?

Г
Гость 19.08.2015 - 08:08

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

Г
Гость 19.08.2015 - 12:08

Как в блоке "корзина" убрать маркеры для "открыть корзину" и "оформить заказ"?

Г
Гость 19.08.2015 - 12:08

billing informayion меняется тут /admin/commerce/config/order/fields/commerce_customer_billing

v
volk 29.08.2015 - 20:08

при установке у меня такая беда:
Библиотека Unicode Ошибка
Конвертация ввода мультибайтовых строк в PHP включена, но должна быть отключена. Проверьте настройку mbstring.http_input в php.ini. Подробности вы сможете найти в документации по PHP mbstring.
как я понимаю это к хостеру? или как то по другому можно обойти?

A
AYRMISH 12.09.2015 - 13:09

Не выводит блоки на главную, как будто там нет регионов, как на остальных страницах. Выводишь в Front Content появляются(без возможности расположения по странице), но исчезают на других страницах??

О
Ольга 12.01.2016 - 10:01

Добрый день.

Делаю второй магазин на этой сборке. Спасибо вам за труд.

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

http://olkee.lgn.by/catalog/seam

Помогите, пожалуйста, разобраться.

G
Gen 28.01.2016 - 13:01

При установке Development releases выдает ошибку http://joxi.ru/V2VBLRRI0BbEb2
Ставлю через Acquia Dev Desktop. В PHP нулина полнейший, лезть в код очкую.
Beta 3 проходит этот этап на ура.
Помогите пожалуйста, застрял, обидно.

Г
Григорий 07.02.2016 - 19:02

А как можно отключить корзину? Т.е. нужна только реклама товаров без покупки через сайт?

А
Алексей 09.04.2016 - 10:04

Искал хоть какие-то примеры настроек вашего магазина, не нашёл. Было бы не плохо если на youtube появилось видео с примером настройки магазина. Мне как ничего не знающему о Drupal это очень помогло бы.

А
Александр 04.07.2016 - 10:07

Здравствуйте! Подскажите как создать копию "Каталога", Если я хочу что бы у меня были 4 пункта в меню и все они работали в Представлениями, у меня получается внешний вид Представления Shop, не такое как в каталоге, заголовок большой цена без фона и еще RSSлента под каждым товаром. Подскажите как это можно исправить хочу что бы также красиво было. Если в Представление Shop Добавить в критерии фильтрации мои пункты меню то остается только цена все остальное вообще пропадает. Создавал для ник клоны Shop тоже не помогает неделю бьюсь ничего не получается.

В
Владимир 20.11.2016 - 19:11

В этом файле profiles\drupalife_store\modules\contrib\imagecache_actions\canvasactions\imagecache_canvasactions.module 55-я строка, отсутствует символ в имени модуля. Как следствие вылетает ошибка, что модуль отсутствует. Заметил при обновлении ядра, так как изначально ее небыло.

В
Владимир 20.11.2016 - 19:11

В этом файле profiles\drupalife_store\modules\contrib\imagecache_actions\canvasactions\imagecache_canvasactions.module 55-я строка, отсутствует символ в имени модуля. Как следствие вылетает ошибка, что модуль отсутствует. Заметил при обновлении ядра, так как изначально ее небыло.

p
paulpo 15.12.2016 - 14:12

На локалке всё прекрасно установилось,после установки путь приватных файлов и папку темп, прописать не забываем. А песочнице вот это

User warning: The following module is missing from the file system: imagcache_actions. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1128 of /home/r19cq/www/includes/bootstrap.inc).
G
Goodseeker 29.12.2016 - 17:12

Буду тестировать - спасибо за труды. Проверьте в сборке 7.x-1.x-dev в файле drupalife_store.install строку 1123 - не хватает закрывающей круглой скобки. При установке ругается на Parse error: syntax error, unexpected '{' in .... /profiles/drupalife_store/drupalife_store.install on line 1123

G
Goodseeker 29.12.2016 - 18:12

Подскажите пожалуйста как обновлять модули? drush dl views - модуль кладется в sites/all/modules - при этом модуль views остается в папке с профилем.

G
Goodseeker 29.12.2016 - 18:12

Подскажите пожалуйста как обновлять модули? drush dl views - модуль кладется в sites/all/modules - при этом модуль views остается в папке с профилем.

G
Goodseeker 29.12.2016 - 18:12

Тут после отправки комментария ошибка 500 - поэтому случайно отправил два раза вопрос.

И если оставляю комментарий на последней странице комментариев, то не всегда видна проверка "я не робот" - после отправки комментария не видно сообщение "Вы ввели неправильный ответ на контрольный вопрос."

К
Кофеин 25.04.2017 - 16:04

Здравствуйте. Пользуюсь Вашей сборкой и очень доволен. Большое спасибо за проделанную работу. Секономили людям много времени и нервов. Но есть парочка вопросов. Подскажите пожалуйста если не затруднит:

  • Как править шапку сайта. Добавить возле строки поиска текст, ссылки (Почта, телефоны);
  • Как править главную страницу. Включил слайдер фото. Нужно добавить некий текст над слайдером и под ним;
  • Не могу понять как отключить показ товаров во вложенных категориях. Поясню: Словарь - "Книги - Фантастика - Кинг" Товары добавлены в самую последнюю строчку словаря в "Кинг". На странице "Фантастика" я вижу категорию "Кинг", те катогории что так же вложены в "Фантастика" и все товары из них. Как ето отключить? Чтобы товары было видно только в конечных категориях (вложениях)

Спасибо Вам большое заранее.

A
Alislis 06.10.2017 - 11:10

Слушай, в твоем магазине прекрасно все! Вот только в той версии, в которой оно сейчас есть, устаревшее ядро. Попыталась я обновить (по твоим же инструкциям), и оно сразу же теряет из виду кучу модулей. В смысле, сигналит об ошибке. Больше всего бесит (потому что ошибка всплывает на каждой странице) модуль imagecache_action. Я проверяла, он никуда не делся. И в листе модулей он включен. Кэш чистила первым делом. Даже приколу ради поставила drupalife два раза - один на стационарном, поставила сначала, потом обновила (повылазили все эти), а потом на ноут поставила, но сначала поменяла файлы ядра, а потом поставила весь дистрибутив. То же самое.... [User warning: The following module is missing from the file system: imagcache_actions. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1143 of /var/www/drupalife/includes/bootstrap.inc).] Подскажи, пожалуйста, как это можно пофиксить?

Добавить комментарий

Содержимое данного поля является приватным и не предназначено для показа.