Всем привет, сегодня я открываю новую серию уроков по переделке стандартного шаблона 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 вне сайта так же инфу откладывает.
Спасибо за статью, дельный совет!