Question

J'ai 4 grandes catégories dans un site opencart.

Je veux avoir une image d'en-tête différent pour les 4 catégories distinctes. Comment puis-je obtenir le nom de la catégorie en cours et mettre une instruction if pour sélectionner l'image pour l'en-tête?

En-tête actuel Code d'image:

<div id="headerWrapper">
<div id="header">
    <div class="div1">
        <div class="div2">
        <?php if ($logo) { ?>
        <a href="<?php echo str_replace('&', '&amp;', $home); ?>"><img src="<?php echo $logo; ?>" title="<?php echo $store; ?>" alt="<?php echo $store; ?>" /></a>
        <?php } ?>
        </div>        
    </div>
</div>

Était-ce utile?

La solution

Vous aurez besoin de travailler si le chemin est défini et la route est produit / catégorie pour commencer, pour vérifier si vous êtes même sur une page de catégorie. Ensuite, vous devrez utiliser ces informations dans un commutateur vraiment (au lieu d'un grand si liste d'autre). Pouvez-vous donner plus de détails sur ce que vous êtes désireux de changement dans le code ci-dessus? Est-ce le logo ou êtes-vous vouloir ajouter une classe à l'en-tête que vous pouvez ensuite utiliser pour le style via la feuille de style

Pour savoir si vous êtes dans la catégorie, utilisez ceci dans la méthode index() dans 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'];
    }
}

Cela vous donnera deux variables à utiliser dans le fichier commun / header.tpl de votre modèle

$cat_id et $cat_name

$cat_id sera la catégorie actuelle id ou false si ce n'est pas une page de catégorie

$cat_name aura le nom de la catégorie actuelle si elle existe, ou une chaîne vide si elle ne fonctionne pas

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top