Всем привет, сегодня я открываю новую серию уроков по переделке стандартного шаблона CMS OpenCart 3.0.3.6 (Русская сборка), в этой статье мы поработаем над каталогом товаров и выведем свой текст в основное меню категорий.
Список задач на сегодня:
- Создаём общий каталог товаров (основную категорию)
- Выводим свой текст в главное меню витрины (в следующей статье мы выведем там свои ссылки)
Приступим:
1. Заходим в админку нашего магазина и создаём новую категорию Каталог (Каталог — Категории — Добавить), после этого все категории вашего магазина добавляем в Каталог (Основная категория — Каталог).
P.S. — Обязательно поставьте Каталогу галочку — Главное меню.
Вот что у вас должно получиться:
2. Откроем файл ../admin/view/template/setting/setting.twig и после этих строк:
<div class="form-group">
<label class="col-sm-2 control-label" for="input-meta-keyword">{{ entry_meta_keyword }}</label>
<div class="col-sm-10">
<textarea name="config_meta_keyword" rows="5" placeholder="{{ entry_meta_keyword }}" id="input-meta-keyword" class="form-control">{{ config_meta_keyword }}</textarea>
</div>
</div>
вставим эти:
<div class="form-group">
<label class="col-sm-2 control-label" for="input-meta-keyword">{{ entry_menu_link }}</label>
<div class="col-sm-10">
<textarea name="config_menu_link" rows="10" placeholder="{{ entry_menu_link }}" id="input-menu_link" class="form-control">{{ config_menu_link }}</textarea>
</div>
</div>
2.1. Откроем файл ../admin/controller/setting/setting.php и после этих строк:
if (isset($this->request->post['config_meta_keyword'])) {
$data['config_meta_keyword'] = $this->request->post['config_meta_keyword'];
} else {
$data['config_meta_keyword'] = $this->config->get('config_meta_keyword');
}
вставим эти:
if (isset($this->request->post['config_menu_link'])) {
$data['config_menu_link'] = $this->request->post['config_menu_link'];
} else {
$data['config_menu_link'] = $this->config->get('config_menu_link');
}
2.2. Откроем файл ../admin/language/ru-ru/setting/setting.php и после этой строки:
$_['entry_meta_keyword'] = 'Мета-тег \'Keywords\'';
вставим эту:
$_['entry_menu_link'] = 'Ссылки в главном меню';
2.3. Переходим в админку и чистим все кеши! После этого переходим: Система — Настройки и видим новое поле:
Заполняем его любой информацией и жмём кнопку Сохранить и открываем повторно, если ваш текст сохранился, вы всё сделали правильно (если нет, внимательно проверяем свой код, где то вы были невнимательны и совершили ошибку). Текст не удаляйте, он нам понадобится для проверки витрины! Теперь осталось вывести наши ссылки на витрину магазина, переходим к следующем шагу.
2.4. Открываем файл ../catalog/view/theme/default/template/common/menu.twig и после этих строк:
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
{% for category in categories %}
{% if category.children %}
<li class="dropdown"><a href="{{ category.href }}" class="dropdown-toggle" data-toggle="dropdown">{{ category.name }}</a>
<div class="dropdown-menu">
<div class="dropdown-inner"> {% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %}
<ul class="list-unstyled">
{% for child in children %}
<li><a href="{{ child.href }}">{{ child.name }}</a></li>
{% endfor %}
</ul>
{% endfor %}</div>
<a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a> </div>
</li>
{% else %}
<li><a href="{{ category.href }}">{{ category.name }}</a></li>
{% endif %}
{% endfor %}
</ul>
</div>
вставляем эту:
{{ menu_link }}
2.5. Откроем файл ../catalog/controller/common/menu.php и после этой строки:
$data['categories'] = array();
добавим эту:
$data['menu_link'] = html_entity_decode($this->config->get('config_menu_link'), ENT_QUOTES, 'UTF-8');
Чистим все кеши и открываем витрину вашего магазина, если всё сделано правильно вы увидите свой текст:
Отлично, у вас всё получилось! Продолжим в следующей статье!
Демонстрационный сайт: https://about-all.ru/ (сайт обновляется одновременно с выходом новых статей).
Вступайте в нашу группу в ВК и следите за выходом новых материалов.



2 комментария
Что то не выходит у меня, делаю все как описано и кеши чищу, но новый текс не появляется…
Тьфу, млин, кеш, опен же в папку storage вне сайта так же инфу откладывает.
Спасибо за статью, дельный совет!