Loading

Горизонтальное меню из статей Opencart

Горизонтальное меню из статей Opencart
Для нашего постоянного заказчика из Европы дизайн студия «Движок» создает очередной сайт на CMS Opencart. Задача: сделать полноценный каталог товаров. Мы будет переделывать CMS Opencart из магазина в каталог товаров. В данной краткой статье мы опишем как место верхнего горизонтально меню категорий — сделать что бы было меню статей.

Начнем изменения из файла контроллера:

/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>

Вот и все, теперь у вас вместо категорий будут выводиться нужные Вам статьи.
Они также будут 100% поддерживать мультиязычность если у Вас она запланирована.
Если статья показалась Вам полезной не забывайте подписываться на наш Блог по веб-разработке и делится статьями в соц.сетях.

Отправить ответ

Пожалуйста, авторизуйтесь чтобы добавить комментарий.
Войти с помощью: 
  Подписаться  
Уведомление о
Авторизация
*
*
Войти с помощью: 
Регистрация
*
*
*
Войти с помощью: 

один × 1 =

Генерация пароля