Выбрать курс
0  /  1

Модуль Интернет-магазин на Старте

Содержание

Компоненты

Модуль Интернет-магазин на Старте – это вспомогательный продукт, модуль разворачивает ряд готовых компонентов, с помощью которых без особых затруднений можно реализовать элементы интернет-магазина на вашем сайте. Это не из разряда готовых сайтов, как ошибочно иногда полагают, а именно вспомогательный инструмент для разработчика (продвинутого пользователя) для упрощения его деятельности.

Модуль содержит такие недостающие компоненты:

  • корзина (scoder:sale.basket)
  • форма заказа (scoder:sale.order)

и вспомогательные:

  • малая корзина (scoder:sale.smallbasket). Данный компонент обычно размещается в шапке сайта и выводит информацию о количестве и стоимости товаров в корзине;
  • компонент добавления в корзину (scoder:sale.addtobasket).

Внимание: Задача компонента scoder:sale.addtobasket служебная, он только добавляет товар и перенаправляет пользователя на страницу корзины. Адрес страницы корзины указывается в параметре «Страница корзины» (URL_CART). Если данный параметр не указать, то компонент возвращает результат добавления в корзину (true или false). При указании данного параметра происходит редирект (перенаправление) на указанный адрес, в этом случае компонент нужно размещать на странице только через админку, в противном случае происходит редирект.

Данный компонент нельзя размещать на одной странице вместе с остальными компонентами модуля.

Основной принцип работы модуля следующий: т.к. в младших редакциях 1С-Битрикс (Старт, Стандарт) нет модулей « Торговый каталог» и « Интернет-магазин», следовательно нет специальных полей для хранения цен. Для этого модулем используется обычное свойство инфоблоков. Если у вас создан инфоблок для ваших товаров, необходимо в нем для начала создать свойство Цена. с символьным кодом PRICE, тип свойства Число.

свойство цена

Товары выводятся стандартными компонентами Каталог ( bitrix:catalog), Новости ( bitrix:news) и т.п. Т.к. Цена (с кодом PRICE) — это обычное свойство, то выводить его в любом удобном вам виде. Посетителям сайта необходимо давать возможность выведенные товары положить в корзину и впоследствии оформить заказ. Тут и приходит время работы нашего модуля.

В шаблоне компонента вывода товара(ов) необходимо разместить кнопку купить со ссылкой. Ссылка должна вести на страницу, например, скрипт addtocart.php в корне сайта, где размещен компонент добавления в корзину, и содержать ИД товара и количество, добавляемое в корзину (если не указано, то по умолчанию 1).

На примере шаблона bitrix:news.list. Ссылка размещается внутри цикла: foreach($arResult["ITEMS"] as $arItem):, и выглядит следующим образом:

<a href="/addtocart.php?id=&q=1" rel="nofollow">Купить</a>

Содержание файла addtocart.php:

$APPLICATION->IncludeComponent(
   "scoder:sale.addtobasket",
   "",
   Array(
      "PRODUCT_ID" => $_REQUEST['id'],			//ИД товара
      "QUANTITY" => $_REQUEST['q'],			//Количество
      "URL_CART" => "/cart/"				//Адрес страницы корзины
   )
);

Остается только разместить компоненты корзины и оформления заказа на нужных вам страницах.

корзина размещение компонента

Корзина, например, страница /cart/:

$APPLICATION->IncludeComponent(
   "scoder:sale.basket",
   "",
   Array(
      "ORDER_URL" => "/order/"			// Адрес страницы оформления заказа
   )
);

Если все верно сделано, то после добавления товаров в корзину, она будет выглядеть так:

Корзина

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

Оформление заказа, например, страница /order/:

$APPLICATION->IncludeComponent(
   "scoder:sale.order",
   "",
   Array(
      "B_IBLOCK_ID" => "7",			//ИД инфоблока с заказами
   )
);
.

ИД инфоблока с заказами нужно создать вручную с обязательными свойствами, которые тоже нужно создать вручную. Свойства должны иметь символьный код:

  • FULL_NAME - ФИО
  • EMAIL - Email
  • PHONE - Телефон
  • ADDRESS - Адрес
  • PRICE - Сумма
  • ITEMS - Состав заказа

заказ

На этом основные настройки завершены. Кроме всего этого, после оформления заказа срабатывает почтовое событие «Новый заказ» (SCODER_SALE_NEW_ORDER). Почтовые шаблоны данного типа почтового события можно редактировать на свой лад. В нем доступны такие макросы:

  • #ORDER_ID# - Номер заказа
  • #FULL_NAME# - ФИО
  • #EMAIL# - E-Mail покупателя
  • #PHONE# - Телефон покупателя
  • #ADDRESS# - Адрес доставки
  • #PRICE# - Сумма
  • #ITEMS# - Состав заказа
  • #DATE# - Дата заказа

Подробнее в документации: работа с почтовыми шаблонами.