Обрисовываю ситуацию. В шаблоне default (Opencart 2.0.1.1) горизонтальное меню по умолчанию формируется из созданных категорий. Мне необходимо подключить вывод статей Доставка, Оплата и прочие. захожу в /catalog/controller/common/header.php перед if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) { $this->template = $this->config->get('config_template') . '/template/common/header.tpl'; } else { $this->template = 'default/template/common/header.tpl'; } $this->render(); вставляю $this->load->model('catalog/information'); $this->data['informations'] = array(); foreach ($this->model_catalog_information->getInformations() as $result) { $this->data['informations'][] = array( 'title' => $result['title'], 'href' => $this->url->link('information/information', 'information_id=' .$result['information_id']) ); } потом иду в /catalog/view/theme/ваша тема/template/common/header.tpl и вместо <?php if ($categories) { ?> <div id="menu"> <ul> <?php foreach ($categories as $category) { ?> <li><?php if ($category['active']) { ?> <a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children']) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo$category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> </ul> </div> <?php } ?> вставляю <div id="menu"> <ul> <?php foreach ($informations as $information) { ?> <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li> <?php } ?> </ul> </div> и нифига не получается)) кто знает где ошибка?
Для начала, оформите тему как положено! Рекомендации по оформлению кода и вопросов А потом посмотрите что же за код написан в модуле по пути \catalog\controller\module\information.php И вы увидите где же вы допустили ошибку!
Добрый вечер !! Читал вашу переписку, и так и не понял, что именно нужно заменить чтобы все получилось. Подскажите пожалуйста !!
смотрите. Изучайте и сделайте по аналогии. Что не получается пишите. или http://shop.opencart-russia.ru/stati-v-menu
Спасибо, меню вывелось, но стоит в столбик, подскажите как мне его поставить в горизонтальную позицию!
после цикла должно получится такое меню Код: <nav class="navbar" id="menu"> <div class="navbar-header"><span class="visible-xs" id="category">Категории</span> <button data-target=".navbar-ex1-collapse" data-toggle="collapse" class="btn btn-navbar navbar-toggle" type="button"><i class="fa fa-bars"></i></button> </div> <div class="collapse navbar-collapse navbar-ex1-collapse"> <ul class="nav navbar-nav"> <li><a href="http://-test/Планшеты">Планшеты</a></li> <li><a href="http://-test/Софт">Софт</a></li> <li><a href="http://-test/Телефоны и PDA">Телефоны и PDA</a></li> <li><a href="http://-test/Камеры">Камеры</a></li> </ul> </div> </nav>
Я новичок в этом деле, я не нашел такого кода ни в: / catalog / view / theme / ваша тема / template / common / header ни в: / catalog / controller / common / header Возможно я что-то не так делаю ??
вам не искать надо, а изменить меню, чтобы оно было такое. Это же пример.. что получится должно в итоге в html. Откройте header.tpl и увидите похожие строки. Туда и вставьте вывод статей.
Код: <?php echo $currency; ?> <?php echo $language; ?> <div id="top-links" class="nav pull-right"> <ul class="list-inline"> <li><a href="<?php echo $contact; ?>"><i class="fa fa-phone"></i></a> <span class="hidden-xs hidden-sm hidden-md"><?php echo $telephone; ?></span></li> <li class="dropdown"><a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_account; ?></span> <span class="caret"></span></a> <ul class="dropdown-menu dropdown-menu-right"> <?php if ($logged) { ?> <li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li> <li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li> <li><a href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li> <li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li> <li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li> <?php } else { ?> <li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li> <li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li> <?php } ?> </ul> </li> <li><a href="<?php echo $wishlist; ?>" id="wishlist-total" title="<?php echo $text_wishlist; ?>"><i class="fa fa-heart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_wishlist; ?></span></a></li> <li><a href="<?php echo $shopping_cart; ?>" title="<?php echo $text_shopping_cart; ?>"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_shopping_cart; ?></span></a></li> <li><a href="<?php echo $checkout; ?>" title="<?php echo $text_checkout; ?>"><i class="fa fa-share"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_checkout; ?></span></a></li> </ul> Вставил здесь, и у меня в админке исчезли подписи к категориям, пришлось откатывать назад сайт, напишите пожалуйста в л.с. если вам не трудно, по шаговую инструкцию, а то у меня уже голова от тех всех болит кодов и переделок.
Столкнулся с другой проблемой при удалении всех стандартные категории, меню горизонтальное пропало. Подскажите пожалуйста шо нужно сделать?
прозвучит грубо, но все же: Включите мозг! о чем говорит строка <?php if ($categories) { ?>, читаем мануал мы проверяем существуют ли категории, и если да то выполняем определенные действия, в конкретном случае рисуем меню. Вам нужно удалить эту строку или иначе обыграть. не забудьте про скобки {}!
поверьте, сам недавно начал этим заниматься, но не стоит браться за создание сайта, если у вас нет базовых знаний HTML, CSS, PHP, читайте изучайте документацию. вам не станут разжевывать каждый шаг, будете нарываться только на грубость предыдущим постом должен был вам помочь
это не проблема. Это конструкция и таких похожих конструкций в шаблоне очень много. Удалите указанный код с <?php } ?>. Если вам тяжело ориентироваться в коде, обычно просто шунтируют, например вместо вашего кода пишут так Код: <?php if ($categories != 999) { ?> Или другие способы "извращения над кодом". Но лучше конечно подучить основы. И вам лучше и форумчанинам польза.
Спасибо, что ответили на письменно, я уже понял что нужно изучить азы HTML и CSS, и займусь этим на днях 100%, ну а в данном коде все равно ничего не получается. удалил здесь Код: <?php if ($categories) { ?> <div class="container"> <nav id="menu" class="navbar"> и выбивает ошибку, потом попробовал здесь, и снова то же самое. Код: <?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">
@Figulman что то вы темните )) То получается у вас, то не получается. там всего то с 88 строки по конечную удалить все это Код: <?php if ($categories) { ?> <div class="container"> <nav id="menu" class="navbar"> <div class="navbar-header"><span id="category" class="visible-xs"><?php echo $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"> <?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> </div> </nav> </div> <?php } ?> ну а вместо него вставить что то свое, типа Код: <?php // if ($categories) { ?> <div class="container"> <nav id="menu" class="navbar"> <div class="navbar-header"><span id="category" class="visible-xs">Название блока для мобилы</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"> <!-- что то свое что формирует li список, например --> <?php foreach ($informations as $information) { ?> <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li> <?php } ?> </ul> </div> </nav> </div> <?php // } ?> специально не убирал некоторые части, а закомментировал просто.. чтобы видели..