• Как сделать интернет-магазин на "1C-Битрикс"
    Хотите заказать услугу прямо сейчас?

    Как сделать интернет-магазин на «1C-Битрикс: Старт» — краткое руководство с примерами



    Как сделать интернет-магазин на «1С‑Битрикс: Старт» — краткое руководство

    Лицензия Старт не содержит полноценного модуля интернет‑магазина, но на её основе можно реализовать простой магазин своими силами. В этой статье — пошаговая структура, примеры кода и готовый HTML-каркас, который можно использовать как основу.

    1. Структура каталога

    Используем инфоблоки для хранения товаров. Минимальные поля — название, код, цена и картинка. В шаблоне каталога мы будем выводить товары из инфоблока и делать кнопку «Добавить в корзину».

    Пример: HTML-карточка товара (шаблон)
    <article class="product" data-id="">
      <img src="<?= \$arItem['PREVIEW_PICTURE']['SRC'] ?>" alt="<?= htmlspecialchars(\$arItem['NAME']) ?>"/>
      <h3><?= htmlspecialchars(\$arItem['NAME']) ?></h3>
      <p class="price"><?= number_format(\$arItem['PROPERTIES']['PRICE']['VALUE'], 0, ',', ' ' ) ?> ₽</p>
      <button class="add-to-cart" data-id="<?= \$arItem['ID'] ?>">В корзину</button>
    </article>

    2. Простая корзина на JavaScript + сессии

    Храним корзину в localStorage на клиенте и отправляем на сервер при оформлении. Сервер обрабатывает массив товаров и создает заявку (письмо или запись в БД).

    Пример: frontend (cart.js)
    // cart.js — простая корзина на localStorage
    (function(){
      const CART_KEY = 'my_bitrix_cart_v1';
    
      function getCart(){
        return JSON.parse(localStorage.getItem(CART_KEY) || '[]');
      }
    
      function saveCart(cart){
        localStorage.setItem(CART_KEY, JSON.stringify(cart));
      }
    
      function addToCart(id, qty){
        const cart = getCart();
        const item = cart.find(i => i.id === id);
        if(item) item.qty += qty; else cart.push({id: id, qty: qty});
        saveCart(cart);
        alert('Товар добавлен в корзину');
      }
    
      document.addEventListener('click', function(e){
        const btn = e.target.closest('.add-to-cart');
        if(!btn) return;
        const id = btn.getAttribute('data-id');
        addToCart(id, 1);
      });
    })();
    Пример: оформление заказа (fetch к PHP)
    // отправка корзины на сервер
    fetch('/local/ajax/checkout.php', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ cart: getCart(), user: { name: 'Иван', phone: '+7...' } })
    })
    .then(r => r.json())
    .then(data => { if(data.success) location.href = '/thanks/'; else alert('Ошибка'); });

    3. Сервер: приём и обработка заказа

    Простой обработчик в PHP принимает JSON, формирует письмо или сохраняет заказ в собственной таблице БД.

    Пример: /local/ajax/checkout.php (упрощённо)
    <?php
    // /local/ajax/checkout.php
    header('Content-Type: application/json; charset=utf-8');
    \$body = json_decode(file_get_contents('php://input'), true);
    if(!\$body || empty(\$body['cart'])){
      echo json_encode(['success' => false, 'error' => 'empty']);
      exit;
    }
    
    // Здесь: валидация, получение данных товаров из инфоблока, расчёт суммы
    // Пример — отправим письмо менеджеру
    \$to = 'orders@site.ru';
    \$subject = 'Новый заказ с сайта';
    \$message = "Новый заказ:\n";
    foreach(\$body['cart'] as \$item){
      \$message .= "ID: " . intval(\$item['id']) . " — Кол-во: " . intval(\$item['qty']) . "\n";
    }
    // Доп. данные пользователя
    \$message .= "Имя: " . (isset(\$body['user']['name']) ? strip_tags(\$body['user']['name']) : '') . "\n";
    \$message .= "Телефон: " . (isset(\$body['user']['phone']) ? strip_tags(\$body['user']['phone']) : '') . "\n";
    
    mail(\$to, \$subject, \$message);
    
    echo json_encode(['success' => true]);
    ?>

    Важно: это упрощённый пример. В продакшене используйте защиту от CSRF, валидацию входных данных, логирование и проверку товаров (наличие и цену) на сервере.

    4. Оплаты и доставка

    Для онлайн‑оплаты интегрируйте платёжный шлюз (Яндекс.Касса / Tinkoff / CloudPayments). Обычно это форма на стороне платёжного провайдера или API для серверной инициации платежа.

    Схема отправки на сервер и инициации платежа
    1. Клиент формирует корзину → отправляет на /checkout
    2. Сервер сохраняет заказ со статусом NEW и генерирует уникальный ID
    3. Сервер инициирует платёж у провайдера (API) и получает ссылку
    4. Клиент перенаправляется на платёжную страницу или видит встроенную форму
    5. После оплаты провайдер шлёт callback — сервер сменит статус заказа на PAID

    5. UX: короткие советы

    • Показывайте содержимое корзины в шапке сайта — пользователь должен видеть товары и сумму.
    • Минимизируйте поля в форме заказа (имя, телефон, способ доставки).
    • Добавьте валидацию телефона и подсказки по времени доставки.

    Готовый HTML‑шаблон и примеры вы можете адаптировать под свой проект. Если хотите — могу подготовить пакет файлов (шаблон каталога, корзина, обработчик) под конкретный инфоблок.

    Ссылки:

    6. Производительность и кеширование

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

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

    7. Поиск и фильтрация товаров

    Пользователям важно быстро находить нужные товары. На редакции “Старт” вы можете реализовать фильтрацию на стороне сервера с помощью стандартного компонента фильтра и компонента списка элементов. Для улучшения UX полезно добавлять динамическое обновление с использованием Ajax.

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

    // пример фильтра по цене и категории
    $filter = [
      'IBLOCK_ID' => 5,
      '>=PROPERTY_PRICE' => $_GET['min_price'],
      '<=PROPERTY_PRICE' => $_GET['max_price'],
      'SECTION_ID' => intval($_GET['cat'])
    ];

    8. SEO и продвижение каталога

    Битрикс обладает мощным функционалом для SEO: ЧПУ‑URL, управляемые заголовки, мета‑теги, микроразметка Schema.org для карточек товаров. Всё это можно реализовать и на редакции Старт, если прописать нужную логику в шаблонах и использовать стандартные поля элементов.

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

    9. Масштабирование и дальнейшее развитие

    Если ваш проект начнёт расти, вы в любой момент можете обновить лицензию до “Малый бизнес” без потери данных. Тогда откроются стандартные модули интернет-магазина, расширенные интеграции, полноценный личный кабинет покупателя и система доставки с расчётом тарифов.

    Переход выполняется легко — достаточно приобрести обновление лицензии и активировать модуль e‑Commerce. Все текущие данные каталога и пользователей сохранятся.

    Комментарии (0)

    Оставить комментарий

    Кейсы компании

    Кейс: создание кастомной корзины на 1С‑Битрикс с лицензией «Стандарт»

    Посмотреть

    Кастомная система комментариев WordPress с микроразметкой и AJAX

    Посмотреть

    Как создать компонент в Битрикс 1С, который изменяет цену на китайские юани

    Посмотреть

    🎯 Кейс Павлов Студио: как мы внедрили Яндекс SmartCaptcha для защиты всех форм сайта (включая Bitrix)

    Посмотреть

    Разработка онлайн-калькулятора для товаров на сайте wp

    Посмотреть

    Обновление сайта с битрикс 1с с версии php 5.6 до 8.2

    Посмотреть

    Разработка сервиса для сбора информации из соц.сети «Вконтате»

    Посмотреть

    Разработка мега-меню для сайта на wordpress https://doma-penoblok.ru/

    Посмотреть

    Разработка и сопровождение сайта  https://aaa-sitrak.ru/ с последующей интеграцией на 1с-битрикс

    Посмотреть

    Разработка интернет-магазина https://sklad38.ru/ на битрикс 1с

    Посмотреть

    Доработка сайта https://tochka-kontakta.ru/ для организации «Точка Контакта»

    Добро пожаловать в WordPress. Это ваша первая запись. Отредактируйте или удалите ее, затем начинайте создавать!

    Посмотреть
    Max Messenger