Модуль Интернет-магазин на Старте – это вспомогательный продукт, модуль разворачивает ряд готовых компонентов, с помощью которых без особых затруднений можно реализовать элементы интернет-магазина на вашем сайте. Это не из разряда готовых сайтов, как ошибочно иногда полагают, а именно вспомогательный инструмент для разработчика (продвинутого пользователя) для упрощения его деятельности.
Модуль содержит такие недостающие компоненты:
и вспомогательные:
Внимание: Задача компонента 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", //ИД инфоблока с заказами ) );.
ИД инфоблока с заказами нужно создать вручную с обязательными свойствами, которые тоже нужно создать вручную. Свойства должны иметь символьный код:
На этом основные настройки завершены. Кроме всего этого, после оформления заказа срабатывает почтовое событие «Новый заказ» (SCODER_SALE_NEW_ORDER). Почтовые шаблоны данного типа почтового события можно редактировать на свой лад. В нем доступны такие макросы:
Подробнее в документации: работа с почтовыми шаблонами.