Шаг 6. Финальные настройки магазина

Меню Хлебные крошки (Breadcrumbs) на данный момент выводится не правильно, для решения этой проблемы просто установим модуль Taxonomy Breadcrumb, никаких дополнительных настроек тут не требуется.

Следующим шагом немного подредактируем отображение материала Представление товара:

Ссылка на управление отображением представления товара

Поменяем порядок полей следующим образом:

Настройка отображения представления товара

Также подредактируем отображение поля Изображение в стандартном типе товаров Товар (Product).

Ссылка на управление отображением товараНастройка отображения товара

Теперь товар отображается в более приемлемом виде: цена товара, кнопка добавления в корзину, изображение, описание и категория.

Отображение товара на сайте

Далее установим тему Creative Theme и сразу отключим слайд-шоу в настройках этой темы.

Настройка темы

В настройках блоков для новой темы расположим в блок Корзина в регион First sidebar.

Установка блоков в регион

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

Добавление страницы Оплата и доставка

Теперь установим модуль Commerce Cash on Delivery и перейдем в раздел настройки способов оплаты.

Ссылка на управление способами оплаты

В разделе Способы оплаты отключим стандартный способ Example payment.

Отключение Example payment

Следующим шагом настроим завершающее сообщение, для этого перейдем в раздел Настройка оформления заказа.

Ссылка на настройку оформления заказа

В этом разделе нажмем на ссылку Настроить напротив пункта Завершающее сообщение.

Ссылка на настройку завершающего сообщения

В поле Checkout completion message заполним завершающее сообщение на русском языке.

Настройка завершающего сообщения

Поделись с друзьями:

Комментарии

Здравствуйте, Денис! У меня возникли такие проблемы.
1. При нажатии на ссылку товара на кнопке добавления в корзину на писано "товар не доступен".
2. выдает ошибку "Notice: Undefined index: amount in commerce_price_field_formatter_view() (line 444 of Z\home\triglav\www\sites\all\modules\commerce\modules\price\commerce_price.module).
Подскажите, что можно сделать

В первую очередь попробуйте обновить модуль Commerce, скорее всего эта проблема уже решена в новой версии. На drupal.org к создателям Commerce уже обращались с этой проблемой https://drupal.org/node/1819318 - ошибка возникает в том случае если в представлении выводятся материалы типа Представление товара к которому привязано более одного товара.

Здравствуйте Денис, поскажите пожайлусто изза чего может возникать ошибка при нажатии на ссылку на товар: Ошибка
На сайте произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже.
Сообщение об ошибке
EntityMetadataWrapperException: Unknown data property commerce_product. в функции EntityStructureWrapper->getPropertyInfo() (строка 335 в файле Z:\home\praj.by\www\sites\all\modules\entity\includes\entity.wrapper.inc).

Попробуйте Commerce Repair во многих случаях помогает.

Денис, добрый день!
Отличная статья, спасибо. У меня вопрос, возможно нубский, не подскажите почему в блоке Корзина, после того как я добавила товар, показывает Ваша корзина пуста и после Обновить корзину тоже.
Спасибо.

Или после того, как заказ был оформлен Корзина очищается?

Да, после завершения оформления заказа корзина очищается.

Денис, еще такой вопрос возник: каким образом можно отметить товар меткой напр., "Добавлено", если товар уже выбран пользователем?

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

Здравствуйте, а какой адрес у страницы с отображением футбольного мяча?Не нашёл у себя такую.Я думал , что на сайте только 2 страницы - с отображением всех товаров и товаров относящихся к выбранной категории.

Это страница отображения товара. То есть страница материала "Футбольный мяч" типа "Отображение товара".

То есть при нажатии в таблице в колонке заголовок на название крокетного товара должна открываться такая страница?Если да, то у меня при нажатии ошибка:

EntityMetadataWrapperException: Unknown data property commerce_product. в функции EntityStructureWrapper->getPropertyInfo() (строка 335 в файле

Читайте комментарии выше. Эта проблема уже обсуждалась.

Установил Commerce Repair .Проверил на обновления.Пересоздал представления и та же самая ошибка при нажатии в колонке Заголовок на название товара.

Установил Commerce Repair .Проверил на обновления.

Что он вам выдает на странице admin/commerce/config/repair ?

 

Field repair results

All customer fields have been reconfigured
All line_item fields have been reconfigured
All order fields have been reconfigured
All product fields have been reconfigured

И что не заработало после этого?

Если нет то попробуйте почитать эти обсуждения:

https://drupal.org/node/1061596

http://www.drupalcommerce.org/discussions/1242/entitymetadatawrapperexception-unknown-data-property-commerceproduct

Часто говорится о том что из-за неправильной настройки локального сервера Commerce не может правильно включиться. Советуют изменить параметр max_execution_time в php.ini с 30 да 60 (или больше) и включать модули Commerce по очереди.

Заработало с ошибкой :Notice: Undefined index: amount в функции commerce_price_field_formatter_view() (строка 444 в файле Z:\home\shop.site\www\sites\all\modules\commerce\modules\price\commerce_price.module).На кнопке добавить в корзину надпись:товар не доступен.

Попробуйте сделать все заново используя Acquia Dev Desktop для разработки, там все настройки заточены под Drupal.

Помоголо.Но почему то при установке Creative Theme в таблице в колонках Заголовок и Цена название товара и цена сдвинулись из центра к нижнему краю ячейки.Попробовал выравнять их по центру в настройках таблице - не помогло.

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

Название метода оплаты не меняется при клонировании. Попробуйте модуль Commerce Cheque.

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

На счет первого это просто в разделе Настройки оформления заказа (admin/commerce/config/checkout) переместить все в секцию Оформление заказа. Для второго - в том же разделе отключить панель Информация об учётной записи. Однако тогда нужно отключить или модифицировать правила (admin/commerce/config/checkout/rules) чтобы не создавался пользователь после оформления заказа и не отсылалось письмо.

Спасибо, зароботало. в других ксм - это почему-то большая проблема сделать одностраничный заказ.
Вопрос по модулю Commerce Cheque. установил, дал имя "оплата на карту банка" - у себя в методах оплаты вижу "оплата на карту банка", на странице заказа вижу пункт Cheque. можно ли исправить в настройках или нужно править код модуля (в коде не силен), опраторов echo print в модуле нет, но нашел такое строка 193:
function commerce_cheque_commerce_payment_method_info() {
$payment_methods = array();

$payment_methods['commerce_cheque'] = array(
'title' => variable_get('commerce_cheque_title', 'Cheque'),
'description' => t('Pay by cheque'),
'active' => TRUE,
);
может в title поменять Cheque на "оплата на карту банка", тогда не смогу к примеру добавить этим модулем еще один метод, типа "оплата курьеру" или др.

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

Да, названия будут одинаковые.

В Drupal нельзя менять код модулей взятых с drupal.org.

пытаюсь организовать изображения товара, одно большое остальные превьюшками и все такое. нашел модуль VT Commerce Image, меняю его настройки в admin/commerce/products/types/product/display просто менять размер основного изображения, в карточке товара ничего не меняется. может посоветуете какой-нибудь другой модуль

Используйте Views Slideshow.

насколько я понял вам нужен модуль https://drupal.org/project/field_slideshow

вот тут можно на вашу тему прочитать http://www.drupalcommerce.org/discussions/3043/multiple-images-product

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

Денис не подскажите как мне сделать зависимость товаров от какого то одного параметра. Например цвета. если футболка красная стоит 300, а зеленая 400, и когда заходишь в товар можешь в выпадающем списке менять цвет, и ajax ом меняется товар и кнопка заказать, чтобы положить товар с этим артиклем в корзину

Посмотрите этот модуль Commerce Fancy Attributes, как раз то что вам нужно.

Денис, попытался по Вашим урокам повторить сайт, немного не так как хотелось бы получается с изображением в категории товара на главной странице. Клик по изображению Trumbnail (100x100) мышкой отправляет в админку Главная » Управление » Магазин » Товары - Товар. Это если в Представлениях в свойствах поля Изображение - как ссылка на содержимое. Если сделать как ссылка на файл, то при клике мышке по Trumbnail (100x100) открывается полноразмерный файл картинки вместо страницы сайта, что тоже не то. Можно ли сделать, чтобы изображение раскрывалось в накладываемом слое поверх страницы сайта?

Если вы имеете ввиду что ссылка должна вести на страницу представления товара (что логично) то про это уже спрашивали, смотрите ответ здесь. А уже на странице представления товара можно использовать модуль Colorbox для просмотра изображений во всплывающем окне.

Благодарю за ответ, буду пробовать. Денис, есть еще вопрос, можно ли со страницы представления товара убрать надпись "Опубликовано (дата, время) пользователем Администратор"? А еще будет стоять задача разместить свой логотип в шапке сайта вместо стандартного темы. Буду признателен, если укажете, каким образом это сделать.

"Опубликовано (дата, время)" можно отключить во вкладке "Настройки отображения" в разделе настройки типа материалов "Представление товара". Чтобы изменить логотип просто замените sites\all\themes\dark_elegant\logo.png на свой.

Извините, не знал к какой теме прикрепить мою "проблему". По сути, все очень просто. Я хочу добавить яндекс счетчик себе на сайт. Но так как я ни разу этого не делал, я понятия не имею как его поставить (счетчик очень нужен). Смотрел много видео, там все просто, открываешь ХТМЛ и вставляешь между хеад(или боди, не помню) и все. но как я заметил, с друпалом это делается не так(?) или я что-то упустил?

Для этого есть модуль Yandex.Metrics. Все просто: устанавливаете, включаете, переходите по адресу admin/config/system/yandex_metrics и вставляете код счетчика.

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

Надо дать анониму право доступа Просмотр всех товар любого типа.

Да, спасибо уже сам нашел)))), скажите, а как можно используя commers объеденить товары различающиеся только колличественно. Т. Е есть жидкость расфосованная в тару 50, 100, и 150 л. Нужно что бы под одним названием и картинкой были три кнопки заказать. Спасибо

Создать три товара с разным значением объема и добавить все три в одно предсталение товара, будет не три кнопки а раскрывающийся список с выбором товара.

Сделал как вы сказали, но выпадающий список не появился может где-то поле надо сделать видимым? в представлениях товары выводятся сеткой (Grid)

Выпадающий список должен появиться на странице товара а не в списке.

Не догоняю, создал три товара с разными именами: лак, 20г; лак 100г; лак, 500г;, у всех указано
представление лак. В результате получаем три товара лак. И это не есть гуд нужен один товар лак с возможностью выбора массы

Все!!!Получилось.Спасибо за помощь.Денис не могли бы вы помочь еще вот с чем: каталог в магазине реализован через таксономию глубина вложения 2.Задача вывести через Views на страницу /catalog термины 1 го уровня в сетку, таким образом что бы при нажатии на на термин имеющий в себе вложенные термины, открывались вложенные термины, а не все представления товаров скопом.Т.е должно быть что то такое, нашел вот такое решение, но там появляется ошибка которую не могу обойти.Направьте хотя бы куда копать.Функции Views знаю не до конца, просмотрел ваш курс по Views но такоко не нашел.Пока получилось только вывести родительские термины, но при нажатии открываются все представления товаров

Уже не первый раз про такое спрашивают.

Сделал небольшой пример: https://gist.github.com/anonymous/09ff5431fb0bf8161dac

Как это работает:
Первое представление выводит термины словаря Tags и имеет два отображения:
1 сatalog - выводит только корневые термины.
2 catalog/% - выводит дочерние термины по переданному id родительского термина.
Второе представление просто выводит материалы типа Article по переданному контекстному фильтру с id термина и прикрепляется в footer первого.

Наверное глупый вопрос но что делать с кодом из ссылки?

Переходите на admin/structure/views/import, вставляете туда код и нажимаете "Импорт". Представления можно экспортировать в такой вот код и импортировать потом на других сайтах.

Денис, Ваши уроки и советы заслуживают орден Drupal'a первой степени))Спасибо!!!!!

Денис по мере самостоятельного изучения Commerce возник вопрос: можно ли используя Commerce задавать скидку для зарегистрированных пользователей? пробовал использовать Commerce Discount но не нашел там ничего. Головой понимаю что нужно где-то прописать правило, но где и как не догоняю.

Если вы знаете как работать с модулем Rules то проблем быть не должно, если нет то сперва разберитесь с Rules а там должно стать все понятно.

Понятно стало)))спасибо.не подскажите еще как можно сделать округление скидки до 50 Руб?Магазин работает в Беларуси где минимальная купюра 50 руб. В результате скидки при стоимости товара 72 700 цена становится 70 519 как можно сделать чтобы скидку округлять до 50 руб. Что бы в данном случае цена была 70 500. Спасибо.

Готовых решений не знаю. Можно написать свой Rules action который будет округлять.

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

Нужно добавить фильтр по delta товара.

можно чуть подробнее

Спасибо доктор помогло)))

а что такое физически это delta?

delta - это уникальный идентификатор значения поля. То-есть если вы например добавляете одному представлению товара три товара то у первого delta = 0, у второго 1 и у третьего 2.

Добрый день, Денис! Подскажите, как убрать отображение на странице "Корзина" цены и общей стоимости товара. Мне нужно сделать только возможность отправки покупателем заявки с наименованием и количеством товара. Отображение цены непосредственно на странице товара я отключил, а упростить отображение содержимого корзины не получается.

Корзина является представлением (views). Смотрите курс Изучаем модуль Views чтобы понять как работать с представлениями, соответственно вам должно стать понятно как настроить корзину.

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

Проверьте настройки отображения для товара. Поле Товар должно отображаться как Форма добавления в корзину.

НЕ могу решить эту проблему
Notice: Undefined index: amount в функции commerce_price_field_formatter_view() (строка 444 в файле Z:\home\localhost\www\drupal-7\modules\commerce\modules\price\commerce_price.module).
перечитала все комментарии попробовала тоже уже все!=(((

Похоже что не все комментарии вы прочитали. Попробуйте все заново на сервере Acquia Dev Desktop. Про Denwer уже не первый раз слышу что на нем не правильно разворачивается Commerce.

Я конечно новичок в данной области, но в блоках у меня нет "Корзины"(

Здравствуйте. Подскажите, а можно ли как-то сделать возможным заказ для незарегестированных пользователей?

Курс же именно о таком магазине.

Здравствуйте! А каким образом можно создать из изображений товара слайдер с превьюшками, чтобы при клике на превьюшку менялось основное изображение? Тут выше был совет использовать Views Slideshow, но насколько я понимаю, модуль Views предназначен для шаблонизации вывода категории товаров, а не карточки товара?

Views очень мощный и может выводить любые сущности, так что да, Views Slideshow подойдет. Слайдер в данном случае будет блочным представлением с контекстным фильтром. Смотрите курс по Views чтобы понять как работает контекстный фильтр.

Здравствуйте. У меня такой вопрос: В главном меню все товары отображаются как надо, а если заходить в конкретную категорию то там не работает представление и если выбрать например категорию "инвентарь" то там ничего не отображается. В чем может быть проблема?