0

私はopencart v.1.5.1と/catalog/view/theme/default/template/product/category.tplを使用しています

次のような条件を書くにはどうすればよいですか。

If main current display is of a parent category:
show this image

else (if it's a subcategory display ):
show different image

これが私が達成したいことだからです:

このサイト (親カテゴリ): http://www.guitarplayback.com/Jam-Tracks のバナー画像です

サブカテゴリ: http://www.guitarplayback.com/Jam-Tracks/Ballad-Jam-Tracks 右側に説明のある画像です

4

2 に答える 2

3

これはまだテストしていませんが、これでうまくいくはずです。$this->data['products'] = array(); の
に controller/product/category.php でこれを試してください。

$categories = $this->model_catalog_category->getCategories(0);

foreach ($categories as $category) {
  if ($category['category_id'] == $category_id && $category['top']) {
     $this->data['topCatImage'] = '1';
  }
}

category.tpl について

if (isset($topCatImage)) {
   show this image
} else {
   show other image
}
于 2011-09-19T04:06:59.443 に答える
0

似たようなことに取り組んでいます。それが他の人に役立つことを願って、もう少しコードを壊しました:

カタログ\コントローラー\製品

$cat_array = explode ("_", $path);
$top_cat_id = $cat_array[0];            
$cat_Image = $this->model_catalog_category->getCatImage($top_cat_id);
if ($cat_Image) {
    //show this image
    $this->data['image'] = $cat_Image['image'];
} 

カタログ\モデル\カタログ

 public function getCatImage($category_id) {

    $query = $this->db->query("SELECT image FROM " . DB_PREFIX . 
    "category AS cat LEFT JOIN category AS cats ON cats.parent_id = cat.category_id WHERE cat.parent_id =0 AND cat.category_id = '" . (int)$category_id . "'");

    return $query->row;

}

カタログ\ビュー\テーマ\デフォルト\テンプレート\製品

 <?php if ($image) { ?>
       <div class="image"><img src="<?php echo $image; ?>" alt="<?php echo $heading_title; ?>" /></div>
 <?php } else { ?>
       <div class="image"><img src="<?php echo $OTHERimage; ?>" alt="<?php echo $heading_title; ?>" /></div> 
 <?php } ?>
于 2012-12-23T19:13:28.163 に答える