Frage

Ich habe 4 Hauptkategorien in einer OpenCart -Website.

Ich möchte ein anderes Header -Bild für die 4 separaten Kategorien haben. Wie kann ich den aktuellen Kategoriennamen erhalten und eine IF -Anweisung einlegen, um das Bild für den Header auszuwählen?

Aktueller Header -Bildcode:

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

War es hilfreich?

Lösung

Sie müssen herausfinden, ob der Pfad festgelegt ist und die Route zu Beginn Produkt/Kategorie ist, um zu überprüfen, ob Sie sich sogar auf einer Kategorie -Seite befinden. Anschließend müssen Sie diese Informationen wirklich in einem Switch verwenden (anstatt eine große, wenn sie sonst auflistet). Können Sie mehr Details darüber geben, was Sie im obigen Code ändern möchten? Ist es das Logo oder möchten Sie dem Header, den Sie dann verwenden können, eine Klasse hinzufügen, die Sie dann über Ihr Stylesheet stylen können?

Um herauszufinden, ob Sie in der Kategorie sind, verwenden Sie dies in der index() Methode in 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'];
    }
}

Auf diese Weise erhalten Sie zwei Variablen, die Sie in der Common/Header.tpl -Datei Ihrer Vorlage verwenden können

$cat_id und $cat_name

$cat_id ist die aktuelle Kategorie -ID oder falsch, wenn es sich nicht um eine Kategorie -Seite handelt

$cat_name Hat den aktuellen Kategorienamen, wenn einer existiert, oder eine leere Zeichenfolge, wenn dies nicht der Fall ist

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top