А так же о всякой фигне
Т.к. мы уже переделали opencart под быстрое оформление заказа, теперь нужно убрать из верхнего меню лишние элементы, вроде закладок и личного кабинета. А так же добавить немного нужных ништяков.
Открываем файл: /catalog/view/theme/default/template/common/header.tpl
Удаляем строчки:
<?php echo $currency; ?> <?php echo $language; ?>
В российских реалиях выбор языка и валюты не нужен. Далее т.к. у нас аккаунты не предусмотрены удаляем всё что с ним связано:
<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>
Следующая задача более интересная, нужно добавить статьи в шапку opencart, но при этом что бы оно не дублировало аналогичное меню в футере. Находим строчку:
<div id="top-links" class="nav pull-right">
И перед ней вставляем:
<div id="top-left-links" class="nav pull-left"> <ul class="list-inline"> <?php if ($informations) { ?> <?php foreach ($informations as $information) { ?> <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li> <?php } ?> <?php } ?> </ul> </div>
Но теперь хедеру непонятно откуда взять массив $informations. Что бы объяснить ему, открываем файл: /catalog/controller/common/header.php в котором где-нибуть в районе 39-40 строчки вставляем следующее:
$this->load->model('catalog/information'); $data['informations'] = array(); foreach ($this->model_catalog_information->getInformations() as $result) { if (!$result['bottom']) { $data['informations'][] = array( 'title' => $result['title'], 'href' => $this->url->link('information/information', 'information_id=' . $result['information_id']) ); } }
В этом кусочке кода мы подгрузили все статьи в которых НЕ стоит галочка "Отображить снизу".
Теперь что бы статья попала в верхнее меню opencart, достаточно эту галочку не ставить.
Результат нашей работы:
Пример можно посмотреть на http://opencart.allwebstuff.info
В opencart по умолчанию не предусмотрена отправка телефона и адреса клиента при оформлении заказа. Почему так сделано- загадка. Чтобы не залазить каждый раз в админку, абсолютно все клиенты просят добавить как минимум телефон в письмо о заказе. Opencart отправляет его из файла order.php, находящегося в /catalog/model/checkout, находим код
В настоящее время с помощью css анимации можно сделать практически всё что угодно. Gif и javascript анимация постепенно уходят на второй план. Преимущество css анимации
$this->load->model('catalog/information'); $this->data['informations'] = array(); foreach ($this->model_catalog_information->getInformations() as $result) { if (!$result['bottom']) { $this->data['informations'][] = array( 'title' => $result['title'], 'href' => $this->url->link('information/information', 'information_id=' . $result['information_id']) ); } }А вот с выводом всего этого в шапку уж немного интересней. Структуру, расположение и стили нужно будет сделать полностью самим. Вот пример как выведено меню в свежем проекте:
Этот блок вставлен в шаблоне /catalog/view/theme/default/template/common/header.tpl между тегами
иСтили для него:#toptopmenu { background:url('/image/sys/menuback1.png') repeat-x left center; padding:0px; margin:0px; border-bottom:1px solid #d6edd9; } #toptopmenu > ul { padding:0; margin:0 auto; list-style-type:none; width:1100px; display:block; font-size:0px; background:url('/image/sys/menuback2.png') repeat-x left center; } #toptopmenu > ul > li { padding:0; margin:0; display:inline-block; height:49px; } #toptopmenu > ul > li > a { padding:0px 15px; margin:0; position:relative; top:-20px; display:inline-block; color:#fff; text-decoration:none; font-size:16px; font-family:arial; font-weight: bold; } #toptopmenu > ul > li:hover { background:#f4f4f4; } #toptopmenu > ul > li:hover > a { color:#5d9a63; }Как это выглядит на живом сайте можно посмотреть тут. К сожалению, единого рецепта по стилизации дать не могу, т.к. каждый сайт индивидуален.