Корзина в 1С Битрикс по умолчанию встроена в шаблон интернет-магазина и активно используется в процессе оформления заказов. Однако в ряде кейсов – например, при реализации каталогов без функции покупки или создании витрины с внешним оформлением заказа – наличие корзины может быть избыточным и даже мешающим элементом.
Чтобы отключить корзину, потребуется внести изменения как в шаблон сайта, так и в настройки компонентов. В первую очередь, необходимо проверить наличие подключения компонента bitrix:sale.basket.basket в шаблоне страниц. Его удаление или комментирование позволит исключить визуальное отображение корзины.
Далее стоит отключить сценарии и стили, связанные с корзиной. Это можно сделать, удалив или закомментировав соответствующие строки подключения в header.php или других общих шаблонных файлах. Также важно проверить, не вызываются ли AJAX-действия, связанные с корзиной, через JavaScript-функции на клиентской стороне.
На уровне бизнес-логики необходимо отключить автоматическое создание корзины для неавторизованных пользователей. Для этого следует переопределить или отключить соответствующие обработчики событий, такие как OnBeforeBasketAdd, если они задействованы в пользовательских скриптах или модулях.
После внесения изменений обязательно очистите кэш и проверьте работу сайта в разных сценариях: при добавлении товара, переходе к оформлению заказа и навигации по каталогу. Это позволит убедиться, что корзина действительно отключена и не влияет на пользовательский опыт.
Как найти шаблон, отвечающий за отображение корзины
Для точного определения шаблона корзины в 1С Битрикс необходимо учитывать используемый компонент и шаблон сайта. В большинстве случаев корзина реализуется через компонент bitrix:sale.basket.basket или bitrix:sale.basket.basket.line.
Перейдите в административную часть сайта: Контент → Структура сайта → Файлы и папки, затем откройте директорию /bitrix/templates/имя_шаблона/. Внутри неё найдите папку components/bitrix/sale.basket.basket/ или components/bitrix/sale.basket.basket.line/. Если таких папок нет, проверьте /local/templates/имя_шаблона/components/ – кастомные шаблоны часто располагаются именно здесь.
Файл, отвечающий за HTML-структуру корзины, как правило, называется template.php. При наличии подключаемых частей проверьте наличие подшаблонов: basket_items.php, basket_summary.php и других вспомогательных файлов.
Чтобы убедиться, что вы редактируете нужный шаблон, включите отладку: в init.php добавьте строку $GLOBALS['APPLICATION']->ShowIncludeStat();
. Это позволит увидеть путь к исполняемым шаблонам в нижней части страницы.
Альтернативный способ – использовать встроенный инспектор в панели управления: Настройки → Производительность → Отладка компонентов. Там можно определить конкретный шаблон и путь его подключения.
Удаление компонентов корзины из шаблона сайта
Перейдите в директорию /bitrix/templates/название_шаблона/. Откройте файл header.php или template.php, в зависимости от структуры шаблона. Найдите подключение компонента корзины, чаще всего это строка вида:
$APPLICATION->IncludeComponent("bitrix:sale.basket.basket", ...);
Удалите или закомментируйте этот блок целиком. Убедитесь, что также удалены все элементы, взаимодействующие с корзиной, например:
$APPLICATION->IncludeComponent("bitrix:sale.basket.basket.line", ...);
Проверьте наличие вызовов CSaleBasket:: в шаблонных файлах. Если они используются для отображения количества товаров или общей суммы, удалите соответствующие фрагменты PHP-кода.
Затем откройте файл footer.php и проверьте наличие JS-скриптов, подключённых к корзине, например:
bitrix/sale.basket.*.js
или sale.order.ajax.js
Удалите их подключение через $APPLICATION->AddHeadScript()
или script src=...
.
Перейдите в директорию /local/templates/название_шаблона/components/bitrix/, если использовались переопределённые компоненты. Удалите или очистите папки sale.basket.basket и sale.basket.basket.line.
После удаления компонентов очистите кэш: Настройки → Производительность → Управление кешем и нажмите «Очистить все».
Проверьте результат на сайте: корзина не должна отображаться ни в шапке, ни на внутренних страницах.
Отключение использования корзины в настройках компонента каталога
Чтобы исключить использование корзины при работе с компонентом каталога в 1С-Битрикс, необходимо изменить параметры самого компонента, отключив добавление товаров в корзину.
- Перейдите в режим редактирования страницы, где используется компонент каталога (обычно это
bitrix:catalog
). - Откройте настройки компонента через визуальный редактор или прямо в шаблоне сайта, если компонент подключён вручную.
- Найдите раздел Настройки кнопок и действий или аналогичный (название может отличаться в зависимости от шаблона).
- Установите параметр Использовать корзину в значение Нет или отключите опцию Добавление в корзину.
- Если присутствует параметр
USE_PRODUCT_QUANTITY
, установите его вN
для исключения поля количества. - Проверьте и очистите параметры
ADD_TO_BASKET_ACTION
иADD_TO_BASKET_ACTION_PRIMARY
, если они заданы. Их значение должно быть пустым или исключатьADD
.
После сохранения настроек компонент перестанет отображать кнопки «В корзину» и не будет выполнять соответствующие действия при клике.
При необходимости можно полностью удалить шаблонные участки, отвечающие за кнопку добавления в корзину, в файлах template.php
и template_modifier.php
компонента.
Настройка редиректа с /cart/ на главную или другую страницу
Для перенаправления пользователей с устаревшего или отключённого адреса /cart/
на нужную страницу в 1С-Битрикс, используется настройка редиректа через файл .htaccess
или программный способ в init.php
.
Вариант 1. Редирект через .htaccess
Откройте корневой файл .htaccess
и добавьте следующую строку:
Redirect 301 /cart/ /
Замените /
на нужный путь, если требуется переадресация на другую страницу, например:
Redirect 301 /cart/ /catalog/
После сохранения файла проверьте работу редиректа, очистив кеш браузера.
Вариант 2. Редирект через init.php
Откройте файл /bitrix/php_interface/init.php
и добавьте следующий код:
if ($_SERVER['REQUEST_URI'] === '/cart/') { LocalRedirect('/'); die(); }
Для редиректа на другую страницу измените аргумент LocalRedirect()
на нужный URL. Использование die()
обязательно для остановки выполнения скрипта после редиректа.
Проверка
После внесения изменений убедитесь, что редирект работает как ожидается, через инструменты разработчика браузера (вкладка Network, код ответа 301 или 302) или с помощью команды:
curl -I https://ваш-домен/cart/
Если всё настроено верно, вы увидите строку Location: /
(или другой адрес).
Удаление кнопок «Добавить в корзину» из карточки товара
Проверьте, чтобы после удаления не нарушилась структура HTML. Если используется шаблонизатор, например, .default
или twig, внесите изменения в соответствующем шаблоне. В случае использования модифицированных компонентов – убедитесь, что кнопка не дублируется через js-фреймворк или ajax-перезагрузку блока.
Для полной уверенности выполните поиск по шаблону по ключевым словам "add2basket"
, "BUY_URL"
и "basketAction"
. Удалите или отключите связанные с ними элементы.
Очистите кэш компонентов через административную панель или вручную, чтобы увидеть результат изменений на фронтенде.
Отключение AJAX-обновлений, связанных с корзиной
В настройках компонента найдите параметр «Использовать AJAX» или «AJAX-режим» и установите значение «Нет» или «Отключено». Это отключит динамическое обновление содержимого корзины без перезагрузки страницы.
Если компонент реализован через шаблон с собственными скриптами, дополнительно проверьте наличие вызовов JavaScript-функций BX.ajax
или методов, связанных с AJAX-запросами. В шаблоне компонента удалите или закомментируйте эти вызовы для полного исключения AJAX-обновлений.
После внесения изменений очистите кеш сайта в разделе «Настройки» → «Производительность», чтобы убедиться в применении новых настроек.
Отключение AJAX уменьшит нагрузку на сервер при частых обновлениях корзины и исключит возможные конфликты с пользовательскими скриптами, однако ухудшит пользовательский опыт за счет полной перезагрузки страницы при каждом изменении.
Удаление остатков функционала корзины из JavaScript-файлов
После отключения корзины в административной панели 1С Битрикс остаётся ряд скриптов, которые продолжают загружать и выполнять функции, связанные с корзиной. Это негативно сказывается на производительности и может вызывать ошибки в интерфейсе. Для полного удаления остатков необходимо выполнить следующие шаги.
-
Поиск скриптов, связанных с корзиной:
- Используйте инструменты IDE или текстового редактора для поиска по проекту ключевых слов:
basket
,cart
,BX.Sale.Basket
,BX.Sale.BasketComponent
. - Проверьте как глобальные скрипты, так и inline-скрипты в шаблонах компонентов и страницах.
- Используйте инструменты IDE или текстового редактора для поиска по проекту ключевых слов:
-
Анализ и удаление кода:
- Удаляйте только те блоки, которые отвечают за инициализацию, обработку событий и обновление корзины.
- Осторожно убирайте функции, вызываемые в связке с корзиной, чтобы не нарушить работу других компонентов.
- Обратите внимание на вызовы методов
BX.Sale.Basket.load()
,BX.Sale.Basket.update()
, их удаление часто устраняет загрузку данных корзины.
-
Коррекция обработчиков событий:
- Удалите обработчики событий, связанных с изменением содержимого корзины:
onChangeBasket
,onUpdateBasket
и похожие. - Проверьте наличие подписок на события в
BX.addCustomEvent
и удалите их, если они связаны с корзиной.
- Удалите обработчики событий, связанных с изменением содержимого корзины:
-
Оптимизация загрузки скриптов:
- Убедитесь, что скрипты, связанные с корзиной, не подключаются в
header.php
или черезAsset::getInstance()->addJs()
. - Если скрипты подключаются динамически через PHP, удалите соответствующие вызовы.
- Убедитесь, что скрипты, связанные с корзиной, не подключаются в
-
Тестирование и отладка:
- Проверьте работу сайта в режиме разработчика, следите за ошибками в консоли браузера.
- Убедитесь, что удаление кода не вызвало сбои в других модулях и компонентах.
Выполнение этих шагов позволит полностью избавиться от лишних JavaScript-обработок, связанных с корзиной, что повысит быстродействие и стабилизирует работу сайта после отключения корзины.
Проверка кэшированных данных и очистка кэша после изменений
После отключения корзины в 1С Битрикс важна проверка, что кэш не содержит устаревших элементов. Для начала убедитесь, что изменения затронули все нужные компоненты: шаблоны, модули и файлы, связанные с корзиной.
Проверка кэша проводится через административную панель в разделе «Настройки» → «Инструменты» → «Управление кэшем». Там можно просмотреть активные кэшированные данные и определить их актуальность. Особое внимание уделите кэшу шаблонов компонентов и страницы.
Очистка кэша должна выполняться в следующем порядке:
- Очистка кэша сайта – сбросит все кешированные страницы и компоненты.
- Очистка кэша HTML и CSS/JS – удалит статические файлы, которые могут содержать старые скрипты корзины.
- Очистка кэша компонентов – гарантирует обновление настроек компонентов, связанных с корзиной.
Лучший способ – использовать встроенную функцию «Очистить весь кэш» в админке. После этого рекомендуется проверить фронтенд, обновив страницу с помощью Ctrl+F5 или аналога в вашем браузере, чтобы исключить загрузку данных из локального кеша.
Если на сайте включено кеширование через внешние системы (Memcached, Redis), очистите их через консоль или админ-панель соответствующих сервисов. Несоблюдение этого шага приводит к сохранению старых данных, несмотря на очистку в 1С Битрикс.
Рекомендуется запускать очистку кэша после каждого существенного изменения, связанного с функционалом корзины, чтобы избежать отображения некорректной информации пользователям.
Вопрос-ответ:
Как отключить корзину в 1С Битрикс через административную панель?
Чтобы отключить корзину в 1С Битрикс, зайдите в административную панель, затем откройте раздел «Настройки» — «Модули». Найдите модуль интернет-магазина и перейдите в его настройки. В параметрах модуля отключите опцию, отвечающую за использование корзины. После сохранения изменений корзина перестанет отображаться и функционировать на сайте.
Какие последствия могут возникнуть после отключения корзины в 1С Битрикс?
После отключения корзины пользователи не смогут добавлять товары для последующей покупки, что может привести к снижению удобства покупок и уменьшению конверсии. Кроме того, без корзины не будет сохраняться информация о выбранных товарах, что усложняет оформление заказа и требует дополнительной настройки альтернативных способов сбора заказов.
Можно ли отключить корзину в 1С Битрикс с помощью редактирования кода, а не через настройки модуля?
Да, это возможно, но требует внимательного подхода. Для этого нужно изменить шаблоны компонентов, отвечающих за отображение корзины, и, при необходимости, убрать вызовы функций, связанных с корзиной, в файлах сайта. Такой метод подходит опытным разработчикам, поскольку некорректные правки могут привести к ошибкам или нарушению работы магазина.
Как отключить корзину в 1С Битрикс, если используется кастомный шаблон сайта?
В случае кастомного шаблона необходимо найти файлы, в которых выводится корзина — это обычно шаблоны компонентов или отдельные php-файлы. Нужно удалить или закомментировать код, отвечающий за отображение и работу корзины. Также стоит проверить, не подключены ли скрипты и стили, связанные с корзиной, чтобы избежать ошибок и некорректного поведения интерфейса. После изменений рекомендуется очистить кеш сайта.