CMS OpenCart 3.0 переделка стандартного шаблона (1 часть)

Всем привет, сегодня я открываю новую серию уроков по переделке стандартного шаблона CMS OpenCart 3.0.3.6 (Русская сборка), в этой статье мы поработаем над каталогом товаров и выведем свой текст в основное меню категорий.

Список задач на сегодня:

  1. Создаём общий каталог товаров (основную категорию)
  2. Выводим свой текст в главное меню витрины (в следующей статье мы выведем там свои ссылки)

Приступим:

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 комментария

  1. Что то не выходит у меня, делаю все как описано и кеши чищу, но новый текс не появляется…

    • Тьфу, млин, кеш, опен же в папку storage вне сайта так же инфу откладывает.

      Спасибо за статью, дельный совет!

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

Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания применять.

Срок проверки reCAPTCHA истек. Перезагрузите страницу.

Меню навигации