Чат для OpenCart: установка без правки движка

Два способа поставить чат на OpenCart и в русские сборки вроде ocStore: через поле настроек и напрямую в шаблон. Плюс кэш, проверка на телефоне и типичные грабли.

В OpenCart нет отдельного поля «свой код», как в конструкторах сайтов. Зато есть обходной путь, которым пользуются почти все: поле «Код Google Analytics» на вкладке «Общие» в настройках магазина. OpenCart выводит туда всё, что там написано, прямо перед закрывающим тегом body — аналитика это или нет, движку всё равно. Туда же спокойно ложится код чата: одна вставка работает сразу на всех страницах магазина, включая карточки товара и категории.

Владелец интернет-магазина собирает заказ рядом с ноутбуком
Владелец интернет-магазина собирает заказ рядом с ноутбуком

Второй способ — вписать скрипт прямо в footer.twig активной темы, перед строкой </body>. Он не такой удобный: правки в файле темы теряются при обновлении темы или движка, если их не выносить в отдельную модификацию. Но если поле аналитики уже занято настоящим счётчиком или чат нужен не на всех страницах, а выборочно, без правки шаблона не обойтись.

ocStore и русские сборки: в чём отличия

ocStore и похожие русские сборки построены на том же движке, обычно на ветке 2.x или 3.x, поэтому шаблонизатор и структура админки те же. Разница в основном в русских доработках: предустановленных модулях доставки и оплаты, обмене с 1С. На способ вставки кода это не влияет — онлайн-консультант в ocStore ставится так же, как в обычном OpenCart, через то же поле аналитики или тот же footer.twig.

Заметная ловушка в другом: если магазин работает на купленной или доработанной теме, footer.twig лежит не в папке default, а в папке активной темы — её название видно в разделе тем в админке. Вставка в чужую тему по привычке — частая причина, почему код на месте, а виджет не появляется: браузер просто грузит другой файл. Некоторые сборки ocStore ещё и переопределяют footer через модификации ocmod или vqmod, и тогда правка исходного файла темы не сработает, пока не отключить или не поправить саму модификацию.

Кэш OpenCart: почему виджет не появился сразу

OpenCart кэширует скомпилированные шаблоны и применённые модификации, поэтому правка footer.twig по FTP не всегда видна сразу: движок ещё показывает старую собранную версию страницы. Кэш чистится из админки, обычно через раздел обслуживания, а если нужной кнопки под рукой нет — приходится вручную чистить папки system/storage/cache и system/storage/modification.

После очистки кэша страницу магазина стоит обновить жёстко, сочетанием Ctrl+F5, а не обычным F5: браузер тоже держит старую версию скриптов у себя. Если магазин стоит за прокси хостинга с собственным кэшированием страниц, добавляется ещё один слой кэша — тогда изменения проявляются не сразу, а через несколько минут.

Проверяем: диалог с телефона и с десктопа

Появившийся значок онлайн-консультанта ещё не значит, что им удобно пользоваться. Проверьте вручную на настоящем телефоне, а не в режиме просмотра в браузере:

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

Чем ИИ-чат полезен магазину на OpenCart

Каталог интернет-магазина редко меняется каждый день, а вопросы покупателей почти всегда одни и те же: есть ли товар, когда доставят, как оформить возврат. AGENT 604 обходит сайт и запоминает то, что уже написано в карточках товаров и на страницах доставки, а раз в неделю обход повторяется сам — так ответы не расходятся с ценами и условиями на сайте.

Диалоги приходят не только с сайта: тот же чат работает в Telegram, ВКонтакте и других каналах, а сложные вопросы про конкретный заказ или оплату уходят живому оператору, и пока он отвечает, ИИ не пишет поверх него. Про то, как это выглядит на практике на любом сайте, включая магазин, написано в статье о том, как подключить чат на сайт, а более широкий разбор пользы чата именно для интернет-магазина — на странице чата для интернет-магазина.

Где это не работает: чекаут и старые темы

Чекаут в OpenCart часто живёт своей жизнью: некоторые темы и расширения для одностраничного оформления заказа рисуют страницу без включения footer.twig основной темы, и виджет пропадает именно там, где у покупателя чаще всего появляются вопросы про оплату и доставку. Отдельно откройте страницу оформления заказа и проверьте, виден ли значок чата на ней, а не только на витрине.

Старые темы на движке 1.5–2.0 всё ещё используют файлы .tpl вместо twig, и строка перед </body> может называться иначе или лежать в другом файле — придётся искать закрывающий тег вручную. И если магазин живёт не только на OpenCart, а смотрит в сторону движков покрупнее, там вставка устроена по-своему — например, в отдельной статье разобран чат для Битрикс.

Частые вопросы

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

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

Виджет замедлит магазин?

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

Почему после установки чат не виден?

Чаще всего дело в кэше шаблонов и модификаций OpenCart — очистите его в админке и обновите страницу с Ctrl+F5.

Читайте дальше