Всем привет, продолжаем работать над шапкой нашего интернет магазина, в этой статье мы немного поработаем над меню навигации, кнопками корзины, закладками и сравнением товаров.
1. Меня не устраивает получившееся у нас с вами меню навигации, поэтому я решил его немного доработать, откроем файл ../catalog/view/theme/default/template/common/menu.twig и вместо этих строк:
{% if categories %} <div class="container"> <nav id="menu" class="navbar"> <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span> <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button> </div> <div class="collapse navbar-collapse navbar-ex1-collapse"> <ul class="nav navbar-nav col-sm-3"> {% for category in categories %} {% if category.children %} <li class="dropdown col-sm-12 row"><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> <ul class="nav navbar-nav col-sm-9 row"> {{ menu_link }} </ul> </div> </nav> </div> {% endif %}
вставим эти:
{% if categories %} <div class="container"> <nav id="menu" class="navbar"> <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span> <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button> </div> <div class="collapse navbar-collapse navbar-ex1-collapse"> <ul class="nav nav-pills nav-justified"> {% 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 %} {{ menu_link }} </ul> </div> </nav> </div> {% endif %}
Чистим все кеши и смотрим на результат:
Не знаю как вам, а мне так нравится гораздо больше чем раньше — все ссылки в одном блоке и имеют одинаковую ширину.
При желании в пункт меню Каталог можно добавить иконку, сделать это очень просто, вместо этой строки:
<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" data-toggle="dropdown"><i class="fa fa-th" aria-hidden="true"></i> {{ category.name }}</a>
естественно можно вставить и другую иконку, я выбрал эту иконку просто для примера.
Если захотите вы можете вставить иконки и другим ссылкам меню навигации, к примеру я добавлю иконку пункту Акции, для этого нам необходимо открыть админку и перейти: Система — Настройки — Редактировать — Ссылки в главном меню и вместо этой строки:
<li><a href="ваша ссылка">Акции</a></li>
вставить эту:
<li><a href="ваша ссылка"><i class="fa fa-star" aria-hidden="true"></i> Акции</a></li>
Смотрим результат:
Вроде неплохо.
2. Откроем файл: ../catalog/view/theme/default/template/common/header.twig и вместо этих строк:
<ul class="nav head-button"> {{ cart }} </ul>
вставим эти:
<ul class="nav head-button"> {{ cart }} <li class="hicon"><a href="{{ wishlist }}" id="wishlist-total" title="{{ text_wishlist }}"><i class="fa fa-heart"></i> <span class="hidden-xs hidden-sm hidden-md">{{ text_wishlist }}</span></a></li> <li class="hicon"><a href="{{ compare }}" id="compare-total" title="{{ text_compare }}"><i class="fa fa-exchange"></i> <span class="hidden-xs hidden-sm hidden-md">{{ text_compare }}</span></a></li> </ul>
и удалим эту строку:
<li><a href="{{ wishlist }}" id="wishlist-total" title="{{ text_wishlist }}"><i class="fa fa-heart"></i> <span class="hidden-xs hidden-sm hidden-md">{{ text_wishlist }}</span></a></li>
3. Откроем файл ../catalog/controller/common/header.php и после этих строк:
// Wishlist if ($this->customer->isLogged()) { $this->load->model('account/wishlist'); $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist()); } else { $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0)); }
вставим эти:
// Compare $data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
а после этой строки:
$data['wishlist'] = $this->url->link('account/wishlist', '', true);
вставим эту:
$data['compare'] = $this->url->link('product/compare');
4. Откроем файл ../catalog/language/ru-ru/common/header.php и после этой строки:
$_['text_wishlist'] = 'Закладки (%s)';
вставим эту:
$_['text_compare'] = 'Сравнение (%s)';
Чистим все кеши и смотрим на результат:
На сегодня всё, вступайте в нашу группу в ВК и следите за выходом новых статей.
Живой пример (обновляется одновременно с выходом новых статей): https://about-all.ru