Услуги Создание магазина Доработка Интеграция 1С О компании FAQ Блог Кейсы Отзывы Контакты
А
Автор статьи

Где в OpenCart хранится HTML-код: карта файлов и как менять

Где в OpenCart хранится HTML-код: карта файлов

с учётом практики команды с 17-летним опытом разработки на OpenCart — HTML в OpenCart хранится в нескольких местах: Twig-шаблоны темы (основная верстка), языковые файлы (тексты), контроллеры (данные и логика), модули (блоки контента) и OCMOD-модификации (виртуальные правки). Перед правкой нужно определить, откуда выводится элемент — из темы, модуля, макета или модификатора. Используйте инспектор браузера (F12) для поиска нужного файла. В OpenCart 4 структура отличается: шаблоны в upload/view/template/, а не в catalog/view/theme/.

Из практики: знание структуры шаблона сокращает доработки с дней до часов.

По практике команды с 17-летним опытом разработки на OpenCart: найти, где в OpenCart лежит нужный HTML — половина дела. Вторая половина — не потерять изменения при обновлении. Типичная ошибка — править Twig-файлы в default-теме вместо своей темы-наследника. Правильный подход: создавать дочернюю тему и переопределять только нужные шаблоны — тогда обновления CMS не сломают вёрстку.

Почему так сложно найти нужный файл

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

Главная сложность в том, что один элемент на странице может собираться из 3–4 источников: шаблон, языковой файл, модуль, данные из БД. Инспектор браузера — ваш главный инструмент: он покажет класс элемента, а вы по нему найдёте файл.

Карта местоположения HTML-кода

OpenCart 3.x

Элемент на страницеГде искатьТипичный путь
Шапка сайтаШаблонcatalog/view/theme/ТЕМА/template/common/header.twig
ПодвалШаблонcatalog/view/theme/ТЕМА/template/common/footer.twig
Карточка товараШаблонcatalog/view/theme/ТЕМА/template/product/product.twig
Каталог товаровШаблонcatalog/view/theme/ТЕМА/template/product/category.twig
КорзинаШаблонcatalog/view/theme/ТЕМА/template/checkout/cart.twig
Тексты кнопок/сообщенийЯзыковой файлcatalog/language/ru-ru/common/...
БаннерыМодуль (админка)Расширения → Модули → Banner
HTML-блокиМодуль (админка)Расширения → Модули → HTML Content
Информационные страницыБД (админка)Информация → Информационные страницы
Описания товаров/категорийБД (админка)Каталог → Товары → вкладка «Описание»

OpenCart 4.x

В OC4 структура изменилась:

ЭлементПуть в OC4Отличие от OC3
Шаблоныupload/view/template/Вместо catalog/view/theme/
Языковые файлыupload/language/ru-ru/PHP-файлы вместо .php
Контроллерыupload/catalog/controller/Без изменений
КешированиеВстроенный кеш шаблоновКеш нужно очищать через админку

Пошаговый алгоритм поиска нужного файла

Шаг 1. Инспектор браузера

Нажмите F12 → вкладка Elements → найдите нужный элемент → «Inspect». Посмотрите класс или ID элемента. Это отправная точка для поиска.

Пример: вы нашли элемент <div class="product-layout">. Теперь ищите этот класс в файлах темы.

Шаг 2. Поиск в файлах темы

# В OC3: поиск по классу в файлах темы grep -r "product-layout" catalog/view/theme/ТЕМА/template/  # В OC4: поиск в новой структуре grep -r "product-layout" upload/view/template/  # Поиск по тексту (например, кнопка «В корзину») grep -r "В корзину" catalog/view/theme/ТЕМА/template/

На практике, 80% элементов находятся в common/header.twig, common/footer.twig или в шаблоне конкретной страницы (product/, category/, checkout/).

Шаг 3. Если не нашли — языковые файлы

# Поиск по тексту в языковых файлах (OC3) grep -r "В корзину" catalog/language/ru-ru/  # В OC4 grep -r "В корзину" upload/language/ru-ru/

Тексты кнопок, сообщений об ошибках, меню часто лежат в языковых файлах, а не в шаблонах. Это важно: правка языкового файла не требует работы с HTML.

Шаг 4. Модули

Баннеры, HTML-блоки, «похожие товары», «новинки» — это модули. В админке: Расширения → Модули. Найдите нужный модуль и проверьте его настройки. Часто текст хранится прямо в настройках модуля, а не в файлах.

Если модуль установлен через OCMOD — его файлы виртуальные. Править нужно через XML-модификацию, а не напрямую.

Шаг 5. OCMOD и модификации

Если вы правите файл, но изменения не отображаются — возможно, другой модуль перехватывает вывод через OCMOD. Проверьте в админке: Дополнения → Модификации. Нажмите «Обновить» (синхронизировать). Если модификация перехватывает ваш файл — правьте через OCMOD, а не напрямую.

Где НЕ стоит править HTML

  • Файлы ядра OpenCart (catalog/controller/, system/) — при обновлении правки пропадут. Используйте дочернюю тему, OCMOD или модули.
  • Файлы шаблона без дочерней темы — при обновлении темы правки пропадут. Создайте дочернюю тему: скопируйте нужные файлы в catalog/view/theme/ВАША_ТЕМА/.
  • Файлы модулей, установленных через Marketplace — обновление модуля перезапишет правки. Правьте через настройки модуля или OCMOD.

Типичные ошибки

  1. Правят файлы ядра вместо темы. При обновлении OpenCart правки пропадут. Используйте дочернюю тему или OCMOD.
  2. Не очищают кеш Twig. После правки шаблона: Дизайн → Очистить кеш (OC3) или Дополнения → Модификации → Обновить (OC4). Без этого изменения не отображаются.
  3. Ищут HTML в базе данных. В OpenCart шаблоны — это файлы, а не записи в БД. Исключение — информационные страницы, описания товаров/категорий, SEO-тексты.
  4. Не учитывают OCMOD. Модуль может перехватить шаблон через XML-модификацию. Физический файл не меняется, но отдаётся изменённая версия.
  5. Правят на продакшене без бэкапа. Всегда делайте бэкап файла перед правкой. Одна ошибка в Twig — белая страница.

Рекомендации из практики

Как лучше: Весь HTML-код витрины OpenCart хранится в шаблонах Twig (или TPL для OC3) в папке catalog/view/theme/. Найдите нужный шаблон по route: страница товара → catalog/view/theme/default/template/product/product.twig. По практике, большинство изменений вёрстки — правка именно этих файлов.

Как не делать: Не редактируйте файлы в папке default — создайте свою тему и меняйте файлы в ней. Иначе при обновлении шаблона изменения пропадут.

Кейс из практики: Разработчик год правил файлы в default. При обновлении OpenCart все множества правок потерялись. Пришлось восстанавливать по памяти 2 дня.

Нужна помощь — закажите доработку: проверим и настроим.

FAQ

Где находится шаблон главной страницы?

В OC3: common/home.twig или product/home.twig — зависит от темы. Главная обычно собирает несколько модулей: слайдер, рекомендуемые товары, баннеры. В OC4: common/home.twig в upload/view/template/common/.

Можно ли править шаблоны без знания Twig?

Для базовых правок (тексты, классы, стили) — да. Twig простой: переменные {{ variable }}, условия {% if %}, циклы {% for %}. Для сложных логических изменений лучше привлечь разработчика — неправильный Twig может сломать всю страницу.

Где менять тексты на русском?

В языковых файлах: catalog/language/ru-ru/ (OC3) или upload/language/ru-ru/ (OC4). Каждый раздел — своя подпапка: common/, product/, checkout/, account/. Тексты кнопок, сообщений об ошибках, заголовков — всё там.

Как узнать, какая тема установлена?

В админке: Дизайн → Настройки → выберите магазин → вкладка «Опции» → поле «Тема по умолчанию». Или посмотрите в config.php константу DIR_TEMPLATE.

Что делать, если файл правильный, но изменения не отображаются?

Три причины: (1) не очистили кеш Twig, (2) модификация OCMOD перехватывает файл, (3) правите не ту копию файла (дочерняя тема vs основная). Проверяйте по порядку.

Источники

Подробнее про шаблоны — как переопределять шаблоны OpenCart.

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

Как не надо. Не копируйте готовые решения из интернета без проверки совместимости с вашей версией OpenCart и установленными модулями. То, что сработало у другого владельца магазина, может сломать ваш сайт — особенно если у вас нестандартная сборка. Всегда делайте бэкап перед любыми изменениями.

← Предыдущая Доработка сайта на OpenCart: способы улучшения функциональности и производительности Следующая → Где в OpenCart находится копирайт и как его изменить: инструкция

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

Пока нет комментариев. Будьте первым!

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

Ваш комментарий появится после проверки модератором.