Не знаю, как Вас, но меня всегда раздражало то, что у opencart отсутствует возможность добавлять произвольные пункты меню. Сама возможность конечно есть (добавляем статьи и правим файлы шаблона), но у этого способа есть 2 существенных недостатка
- Отсутствие иерархии.
Я имею ввиду иерархию для нужд SEO оптимизации, где УРЛ’ы должны иметь именно такой вид http://111.ru/about/delivery
А opencart предлагает делать все УРЛ’ы на одном уровне. - Удобство конечного потребителя
Как мне объяснить заказчику, для которого я делаю сайт, что если Вы захотите добавить какой-то пункт или убрать Вам для начала нужно получить знания html, а потом уже что-то менять? Есть конечно еще вариант снова обратиться к программисту/верстальщику для этого, но они тоже бесплатно работать не будут.
Во всех нормальных cms не нужно знаний html, чтобы работать с меню, а opencart что? Не способен?
Конечно же способен.
Именно для этого и был мною разработан модуль «Произвольное меню«.
Предлагаю Вам ознакомиться с его возможностями и посмотреть на скриншоты:
- Соблюдение иерархии
- Выбор дизайна страницы для каждой статьи
- Три типа пунктов меню:
- Категория
- Статья
- Произвольная ссылка
Скриншоты админки:
Но лучше все потрогать, чем просто глядеть на демо сайте:
Демо админки модуля: http://infoplus.2304.ru/admin/index.php?route=extension/module/infoplus
Логин: demo, Пароль: demo
И если Вас также как и меня раздражало работа с меню — теперь это в прошлом.
Ну и небольшой гайд как заменить главное меню на свое в шаблоне «default»
- Скачать модификатор (newmenu.ocmod.xml), который правит контроллер шапки и установить его
- Отредактировать файл шаблона (/catalog/view/theme/default/template/common/header.tpl) следующим образом:
Вместо кода
123456789101112131415161718192021<ul class="nav navbar-nav"><?php foreach ($categories as $category) { ?><?php if ($category['children']) { ?><li class="dropdown"><a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a><div class="dropdown-menu"><div class="dropdown-inner"><?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?><ul class="list-unstyled"><?php foreach ($children as $child) { ?><li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li><?php } ?></ul><?php } ?></div><a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div></li><?php } else { ?><li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li><?php } ?><?php } ?></ul>
Вставить следующий
123456789101112131415161718192021<ul class="nav navbar-nav"><?php foreach ($infos as $category) { ?><?php if ($category['children']) { ?><li class="dropdown"><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a><div class="dropdown-menu"><div class="dropdown-inner"><?php foreach (array_chunk($category['children'], count($category['children'])) as $children) { ?><ul class="list-unstyled"><?php foreach ($children as $child) { ?><li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li><?php } ?></ul><?php } ?></div></div></li><?php } else { ?><li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li><?php } ?><?php } ?></ul>