Статьи в шапку сайта

  • Статьи в шапку сайта

Зачастую владельцы интернет магазинов используют в качестве меню категорий сайта(особенно когда родительских категорий много) левый сайдбар, либо "выезжающее меню" по принципу как реализовано и у меня на сайте (потому как все категории не входят в ограниченное пространство дефолтного меню, либо отображение их настолько криво, что портят всю "главную вывеску" сайта.Но чтоб место  горизонтального меню навигации не пустовало, зачастую приходят к мнению на это место поместить ссылки на статьи. (О нас, Доставка, Оплата и т.п.)
Вопрос этот возник еще во времена, когда все пользовали на тот момен релизы версии 1.5.Х
Вопрос был настолько распространен как на страницах форума, так и у моих заказчиков... поэтому появилось решение, очень простое как в плане кода, так и в плане внесения правок самостоятельно владельцами сайтов без помощи программиста. 
Выложу оба варианта как для 1.5, так и для v.2. Естественно работы производятся через FTP. Итак, приступим:

версия 1.5.Х

идем в \catalog \controller\ common\ header.php


ищем

$this->children = array(

'module/language',

'module/currency',

'module/cart'

);


после вставляем
 

$this->data['informations'] = array();  

       foreach ($this->model_catalog_information->getInformations() as $result) {    

          if ($result['sort_order'] != '-1') {

                $this->data['informations'][] = array(

                        'title' => $result['title'],

                        'href'  => $this->url->link('information/information', 'information_id=' . $result['information_id'])   

                   );   

             }  

       }

*тут сразу поясню один не маловажный момент
для чего мы прописали это условие?:

if ($result['sort_order'] != '-1') {

Дело в том что по дефолту -1 это скрыть статью, но оно не работает изначально))) вот мы как раз 
удаляем этот косяк
даем себе возможность выводить в шапку не все статьи, а лишь те, у которых порядок сортировки от 1 и выше,  тем самым получаем настраиваемое меню ссылок на статьи))), а для того чтоб отобразить статьи в футере (подвале) сайта есть другой чебокс 


ну это было "лирическое отступление", пойдем далее, осталось совсем чуть-чуть

в \catalog\ view\ theme\ default\ template\ common\ header.tpl

 удаляем все между 
<div id="menu"> и </div> (то место где у нас выводилось меню категорий )
*я так же посоветовал ба оттуда же удалить условие наличия категорий 
<?php if ($categories) { ?>  и <?php } ?>  в которое обернуто само меню

и... вставляем наш код вывода статей

<ul>    

<?php foreach ($informations as $information) { ?>      

<li>

<a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a>

</li>    

<?php } ?>  

</ul>

Стили меню если не совсем устраивают - верстаем под себя))) Для тех кто не умеет этого делать, я буду рассказывать об этом в разделе УЧИМСЯ ВЕРСТАТЬ.

Само собой что выше указанный код вы можете вставлять не только вместо меню... но и в любое другое место шапки сайта, естественно обернув в div с уникальным классом и прописав ему стили.

версия v.2.Х

почти ни чем не отличается, кроме того, что в контроллере в массивах не пишется 

this->

то есть 

 

идем в \catalog\ controller\ common\ header.php

ищем 

        $data['language'] = $this->load->controller('common/language');
        $data['currency'] = $this->load->controller('common/currency');
        $data['search'] = $this->load->controller('common/search');
        $data['cart'] = $this->load->controller('common/cart');

и после этой конструкции вставляем
 

$data['informations'] = array();   

        foreach ($this->model_catalog_information->getInformations() as $result) {  

            if ($result['sort_order'] != '-1') {               

                  $data['informations'][] = array(     

                 'title' => $result['title'],   

                 'href'  => $this->url->link('information/information', 'information_id=' . $result['information_id'])   

                   );           

              }      

      }


код в \catalog \view \theme \Ваша тема \template \common \header.tpl вставляется аналогично первому варианту


0 комментариев / Написать комментарий

Написать комментарий

Внимание: HTML не поддерживается! Используйте обычный текст!
    Бесполезно           Полезно
Captcha

Подпишитесь

Рассылаем только значимую информацию

Теги: Статьи в шапку сайта