Всем привет, давненько я не писал. Было лень, да и ничего в голову не приходило, но я не забил на блог. После такого простоя вернусь с записи-анонса, ведь без дела я тоже не сидел.
После месяца, а то и двух, я все же решился анонсировать вам свою сборку интернет-магазина на базе 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
При установке выдал на этапе install profile
An AJAX HTTP error occurred. HTTP Result Code: 500 Debugging information follows. Path: http://me.localhost:8082/install.php?profile=drupalife_store&locale=en&… StatusText: Service unavailable (with message) ResponseText: PDOException: SQLSTATE[HY000]: General error: 1 no such table: entityform_type: SELECT e.* FROM {entityform_type} e; Array ( ) in entityform_entity_info() (line 133 of C:\Sites\acquia-drupal\profiles\drupalife_store\modules\entityform\entityform.module).
Сайт при открывании станици выглядит теперь так:
Additional uncaught exception thrown while handling exception.
Original
PDOException: SQLSTATE[HY000]: General error: 1 no such table: entityform_type: SELECT e.* FROM {entityform_type} e; Array ( ) in entityform_entity_info() (line 133 of C:\Sites\acquia-drupal\profiles\drupalife_store\modules\entityform\entityform.module).
Additional
PDOException: SQLSTATE[HY000]: General error: 1 no such table: entityform_type: SELECT e.* FROM {entityform_type} e; Array ( ) in entityform_entity_info() (line 133 of C:\Sites\acquia-drupal\profiles\drupalife_store\modules\entityform\entityform.module).
Что-то с модулем entityform, попробуйте заного установить, а лучше скачать сборку с орга, возможно повредились файлы при загрузке.
Выдает Warning: in DatabaseConnection->__construct() (line 304 of C:\Sites\acquia-drupal\includes\database\database.inc).
Уже и перекачивал и что тока не делал :(
Почему-то все ошибки указывают на базу данных, теперь, к слову, ошибка уже в Acquia dev desktop, мб установили не правильно? Я даже не знаю куда рыть ибо я то без конкретики не знаю что ченить. Логи апача подкиньте чтоль ;)
Добрый день, я полный новичек в Drupal. Решил посмотреть на вашу сборку. Возникла проблема:
При добавлении термина генерируется неверный путь на странице отображения в Каталоге. Т.е. ожидаю переход на ссылку mysite/q?=catalog/something а на деле получаю переход по ссылке mysite/catalog/something
P.S. из админки переходит по правильной ссылке.
отключите чистые ссылки
Вроде бы в нужные настройки зашел.
http://picpaste.com/Screen_Shot_2014-03-04_at_6.05.31_PM-xD4ltNHL.png
Нету никакого чекбокса для выключения/включения.
Проблема решена. Добавил стандартный .htaccess
Как и где отключить чистые ссыли?
Огромное спасибо за сборку. Один вопрос. Если я создаю свой вьюс всех товаров в виде блока, то почему то при выборе отображения сетка товары отображаются один под другим, то есть например не четыре товара в ряд, а максимум один товар в ряд..
Нужно применить CSS, хотя я починю сейчас или в след билде. Забыл просто сетке стили присвоить общие, присвоил только каталогу
Приветствую. планирую вот этот сайт-каталог переделать в интернет-магазин. При заказе одежды, после добавления какого-либо артикула в корзину, помимо выбора кол-ва, еще потребуется выбор размеров (причем может не какого-то одного, а нескольких на выбор из списка). Есть ли возможность реализовать такое в этой сборке и вообще возможно ли это на базе Drupal Commerce? Заранее спасибо.
>> Есть ли возможность реализовать такое в этой сборке и вообще возможно ли это на базе Drupal Commerce?
Да можно на коммерц, а так как сборка на нем же, то и в сбокре можно все то же что и в коммерце.
А сборка включает в себя модуль Feeds?
Нет, но ничего ен мешает включить самостоятельно.
Ок. Спасибо, буду разбираться.
Приветствую еще раз. установка на удаленном хостинге успешно прошла (без каких-либо ошибок). После установки авторизовался, появилась сверху админская панель, но не удается зайти в какой-либо из пунктов админки - просто пустой экран при выборе любого пункта из админского меню. В чем может быть проблема?
Если версия самая последняя, то стоит проверить логи апача. Там будет ошибка.
Действительно есть несколько ошибок примерно одинакового содержания. вот одна из для примера:
PHP Parse error: syntax error, unexpected $end in /home/******/htdocs/modules/update/update.fetch.inc on line 73, referer: http://*******.ru/
Похоже что установка модулей \ расширенная настройка не завершилась успешно. Попробуйте переустановить.
Ок, попробую. Перед новой установкой базу данных надо чистить? и следом еще вопрос: после копирования сборки на хостинг надо ли менять какие-то права у файлов/папок? Заранее спасибо.
Базу чистить нужно, друпал напомнит если не почистите)
А права менять не нужно если не трогали. А если трогали то вернуть в исходное положение ;)
Права изначально не трогал. Все таблицы в базе данных удалил. Запустил install.php, установка прошла без ошибок (при этом настройки базы данных в этот раз уже не спрашивались). После установки в логе снова те же ошибки, и те же пустые страницы при попытках перейти в разделе админки.
Не знаю что у вас там, последняя версия не имеет подобной ошибки.
http://simplytest.me/project/drupalife_store - если тут всплывет такая же, сообщите как воспроизвели и я починю. А так лишь догадки что сервер не оч сконфигурирован для друпала.
В "песочнице" все работает. У хостера заявлено что адаптирован под Drupal. Версия сборки 7.х-1.0 beta 1.
Ну хостер может написать что угодно. Я впервые их вижу, ничего посоветовать не могу, к сожалению. Проверьте на локалке, если тоже пашет, то проблема совершенно очевидна.
Уважаемый Niklan, планируете ли вы создание таковой сборки на 8 версии ?
Планы есть, доживем увидим. Сначала выйдет 8, затем надо ждать Drupal Commerce, а он, как я думаю, раньше чем через пол года не выйдет даже в дев версии. Затем ждать его стабильности. Паралельно мне придется учить друпал 8 чтобы реализовать подобное как положено и без костылей. В общем это будет не раньше чем через полгода-год после релиза 8. В этом я точно уверен.
Добрый день! Очень порадовала сборка.
Но возникло несколько вопросов.
Возможно ли как то настроить Commerce, что бы определенная группа товаров выводилась без цен? Задача следующая. На часть товаров цены фиксированные и клиент может покупать их онлайн. а часть товара специфический и нужен выод без цен. Цены уже устанавливаются по категории клиентов и только через менеджера!
Вторая Ваша сборочка тоже интересна. Когда планируется релиз?
Создайте новый тип товара и спрятать у него кнопку корзины и цену.
По поводу второй сборки. По ней работа даже не началась и неизвестно когда начнется. Для начала её пересоздать с 0 и потом запаковывать, так что это не быстро. Я пока эксперементирую с админкой у магазина.
Жаль русификация не полная. по мне так либо есть русский либо его нет вообще...
Еще вопрос. А какие минимальные требования к хостингу для данной сборки? Допустим дисковое пространство. Каеой тариф на host-food.ru минимум брать нужно?
Ну и вопрос по функционалу. Не планируется делать модуль для импорта номенклатуры из 1с:Предприятие. Допустим в конфигурации есть поддержка выгрузки-загрузки в формате CommerceML. Подумайте возможно ли это реализовать ну и что по цене будет. Естественно такой модуль должен быть коммерческим.
Подумаю, просто если я залью полный перевод, никто не дождется перевода никогда) И установка превратиться в ад. Куд абыстрее потом перевести любым способом.
Нет не планируется. Есть модуль cml, погуглите, им можно сделать интеграцию 1c. В поставке его не будет.
Добрый день!
Отлична сборка! Спасибо огромное за проделанную работу. При выборе CMS для магазина выбор пал на друпал только благодаря данной сборке. Установилось все без проблем, точнее проблемы были, но они касались настройки php. Так как нет опыта работы с друпалом, долго разбирался с добавлением товаров в каталог). Возник ряд вопросов:
1. Русификация отправляемых друпалом емайл. А именно, письмо юзеру, оформившему заказ. В переводе интерфейсов текст нашел и заменил, но не помогло.
2. Есть желание сделать кликабельными картинки в Nivo Slider, как это можно реализовать?
1. Скачайте l10n_update - он все обновит автоматически.
2. В настройках слайдера. У каждой картинки есть поле для URL. Если его заполнить, слайд станет кликабельным.
Все ок. Спасибо!
А что можно использовать для реализации следующих фишек:
- Форма онлайн-связи с менеджером
- Модуль запроса звонка
Добрый день! Вопрос такой, а возможно сделать что типа виджета на главную с категориями каталога в виде иконок (что бы размер можно было настроить) и названием под ними?
И есть ли решения по типам оплаты? Электронные кошельки, Visa/Mastercard?
Если нет, то какова цена доработки?
А как создавать(добавлять) Категории Товаров?
Я тоже новичок в Drupal, в вопросе с добавлением Категорий разобрался, погуглив. Сборка супер!!!! Спасибо!!!
А как добавить first sidebar???
У меня вопрос не по вашей сборке а по магазину вобще. Можно както организовать обновление не отключая сайт
А почему так всё подтормаживает?
В смысле подтормаживает? Сайт тормозит со сборкой? Если да, то стоит найти нормальный хостинг а не на шареде юзать.
http://simplytest.me/project/drupalife_store - посмотрите как он должен работать. Вот подобных мощностей (что сейчас вполне стандартно) нужен хостинг.
Действительно!!! Работает гораздо быстрее в песочнице, чем на локальном сервере (Denwer). А с чем это может быть связано???
С тем что у вас Denwer. Я уже и тут, и на drupal.ru отвечал. Ставьте нормальные сервера.
Спасибо за сборку, очень вовремя сделали. Не могу найти views. Как в него перейти? Прямая ссылка admin/structure/views не помагает.
Нужно включить модуль Views UI
Спасибо большое. Извиняюсь за глупый вопрос.