質問

OpenCartサイトには4つのメインカテゴリがあります。

4つの個別のカテゴリには、別のヘッダー画像が必要です。現在のカテゴリ名を取得し、IFステートメントを配置してヘッダーの画像を選択するにはどうすればよいですか?

現在のヘッダー画像コード:

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

役に立ちましたか?

解決

パスが設定されていて、ルートが最初から製品/カテゴリである場合は、カテゴリページにさえ確認する必要があります。その後、その情報を実際にスイッチで使用する必要があります(他の大きな場合は大規模な場合ではなく)。上記のコードで変更したいことについて詳しく説明できますか?それはロゴですか、それともヘッダーにクラスを追加したいですか?

あなたがカテゴリにいるかどうかを調べるには、これをで使用します 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ファイルで使用する2つの変数が得られます

$cat_id$cat_name

$cat_id カテゴリページではない場合、現在のカテゴリIDまたはfalseになります

$cat_name 存在する場合は現在のカテゴリ名があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top