Всем привет, сегодня вновь возвращаемся к мелким доработкам сайта на CMS OpenCart 3.0, в этой статье мы поработаем с меню категорий (в шапке магазина), добавим заголовок боковой колонке категорий и создадим его оформление, изменим дизайн списка подкатегорий в категориях товаров и изменим хлебные крошки.
Список задач на сегодня:
- Работаем с файлом menu.twig (../catalog/view/theme/default/template/common/menu.twig)
- Работаем с файлом category.twig (../catalog/view/theme/default/template/extension/module/category.twig)
- Работаем с файлом category.twig (../catalog/view/theme/default/template/product/category.twig)
- Работаем с файлом stylesheet.css (../catalog/view/theme/default/stylesheet/stylesheet.css)
Приступим:
1. Откроем файл menu.twig и вместо этой строки (20):
<a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a> </div>
вставим эту:
</div>
а вместо этой строки (11):
<li class="dropdown"><a href="{{ category.href }}" class="dropdown-toggle" data-toggle="dropdown">{{ category.name }}</a>
вставим эту:
<li class="dropdown"><a href="{{ category.href }}" class="dropdown-toggle">{{ category.name }}</a>
P.S. — Мы убрали строку показать все, и при нажатии основной категории (с выпадающим списком подкатегорий) мы будем переходить в эту категорию.
2. Откроем файл category.twig и вместо этих строк (1-17):
<div class="list-group"> {% for category in categories %} {% if category.category_id == category_id %} <a href="{{ category.href }}" class="list-group-item active">{{ category.name }}</a> {% if category.children %} {% for child in category.children %} {% if child.category_id == child_id %} <a href="{{ child.href }}" class="list-group-item active"> - {{ child.name }}</a> {% else %} <a href="{{ child.href }}" class="list-group-item"> - {{ child.name }}</a> {% endif %} {% endfor %} {% endif %} {% else %} <a href="{{ category.href }}" class="list-group-item">{{ category.name }}</a> {% endif %} {% endfor %} </div>
вставим эти:
<h3 class="center-h"><i class="fa fa-bars"></i> {{ heading_title }}</h3> <div class="list-group"> {% for category in categories %} {% if category.category_id == category_id %} <a href="{{ category.href }}" class="list-group-item active">{{ category.name }}</a> {% if category.children %} {% for child in category.children %} {% if child.category_id == child_id %} <a href="{{ child.href }}" class="list-group-item active"> - {{ child.name }}</a> {% else %} <a href="{{ child.href }}" class="list-group-item"> - {{ child.name }}</a> {% endif %} {% endfor %} {% endif %} {% else %} <a href="{{ category.href }}" class="list-group-item">{{ category.name }}</a> {% endif %} {% endfor %} </div>
3. Откроем файл category.twig и вместо этой строки (30):
<div class="row">
вставим эти:
<div class="row category-list">
а вместо этой строки (40):
<div class="row">{% for category in categories|batch((categories|length / 4)|round(1, 'ceil')) %}
вставим эту:
<div class="row category-list">{% for category in categories|batch((categories|length / 4)|round(1, 'ceil')) %}
4. Откроем файл stylesheet.css и удалим эти строки (345-378):
/* breadcrumb */ .breadcrumb { margin: 0 0 20px 0; padding: 8px 0; border: 1px solid #ddd; } .breadcrumb i { font-size: 15px; } .breadcrumb > li { text-shadow: 0 1px 0 #FFF; padding: 0 20px; position: relative; white-space: nowrap; } .breadcrumb > li + li:before { content: ''; padding: 0; } .breadcrumb > li:after { content: ''; display: block; position: absolute; top: -3px; right: -5px; width: 26px; height: 26px; border-right: 1px solid #DDD; border-bottom: 1px solid #DDD; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }
В самый конец файла добавим эти строки:
.center-h, .center-h .fa { font-size: 18px; text-align: center; color: #fff; } .center-h .fa { padding: 0 5px; } .center-h { border: 1px solid #ddd; background: #0288D1; padding: 15px 0px; border-radius: 3px; }
P.S. — это стили для заголовка категорий в левой колонке.
Ниже добавим эти строки:
.category-list ul { list-style: none; padding:0; } .category-list ul li + li { margin-top: 10px; } .category-list ul li a { border: 1px solid #ddd; color: #000; width: 100%; display: inline-block; padding: 5px 15px; } .category-list ul li a:hover { border: 1px solid #0288d1; color: #0288d1; }
P.S. — это стили списка подкатегорий на страницах основных категорий.
Чистим все кеши и смотрим что у нас получилось:
На сегодня всё, вступайте в нашу группу в ВК и следите за нашими новостями.
Живой пример (обновляется одновременно с выходом новых статей): https://about-all.ru
8 комментариев
Если в списке категорий 4 и меньше категорий, то они выстраиваются в столбик, как сделать что бы в таком случае, каждая категория заняла свой столбик, дабы не растягивать страницу пустым местом?
В файле есть условие, до 4 категорий вывод такой, больше 4-х такой, просто удалите условие. В статье есть строка с ним.
Речь идет о исправлениях в 3 шаге? Если да, то не понимаю что менять.
Вообще нужно часть строки удалять, посмотрю когда буду свободнее, с работы некогда отвлекаться.
Хорошо, буду ждать. Спасибо!
Ответил вам на почту, смотрите скриншоты.
Спасибо, все работает! 50 на развитие скинул))
Спасибо.