Пользовательское изображение заголовка для категории в OpenCart
Вопрос
У меня есть 4 основные категории на сайте OpenCart.
Я хочу иметь другое изображение заголовка для 4 отдельных категорий. Как я могу получить текущее имя категории и поместить оператор IF, чтобы выбрать изображение для заголовка?
Текущий код изображения заголовка:
<div id="headerWrapper">
<div id="header">
<div class="div1">
<div class="div2">
<?php if ($logo) { ?>
<a href="<?php echo str_replace('&', '&', $home); ?>"><img src="<?php echo $logo; ?>" title="<?php echo $store; ?>" alt="<?php echo $store; ?>" /></a>
<?php } ?>
</div>
</div>
</div>
Решение
Вам нужно будет выработать, если путь будет установлен, и маршрут является продуктом/категорией для начала, чтобы проверить, находитесь ли вы даже на странице категории. Тогда вам нужно будет использовать эту информацию в коммутаторе (а не большой, если еще список). Можете ли вы дать более подробную информацию о том, что вы хотите изменить в приведенном выше коде? Это логотип или вы хотите добавить класс в заголовок, который вы можете использовать для стиля через свою таблицу стилей
Чтобы узнать, находитесь ли вы в категории, используйте это в index()
Метод в catalog/controller/common/header.php
$get = $this->request->get;
$this->data['cat_id'] = false;
$this->data['cat_name'] = '';
if(!empty($get['route']) && $get['route'] == 'product/category' && !empty($get['path'])) {
$cats = explode('_', $get['path']);
$cat_id = array_pop($cats);
$cat_id = (int) $cat_id;
if($cat_id) {
$this->load->model('catalog/category');
$result = $this->model_catalog_category->getCategory($cat_id);
$this->data['cat_id'] = $cat_id;
$this->data['cat_name'] = $result['name'];
}
}
Это даст вам две переменные для использования в файле вашего шаблона Common/header.tpl
$cat_id
а также $cat_name
$cat_id
будет текущий идентификатор категории или ложь, если это не страница категории
$cat_name
будет иметь текущее имя категории, если он существует, или пустая строка, если она не