Категория Условные теги на opencart - PullRequest
0 голосов
/ 16 сентября 2011

Я использую 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 это изображение с описанием на правой стороне

Ответы [ 2 ]

3 голосов
/ 19 сентября 2011

Пока не тестируйте, но это должно работать для вас.
Попробуйте это на controller / product / category.php до $ this-> data ['products'] = array ();

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

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

В категории.tpl

if (isset($topCatImage)) {
   show this image
} else {
   show other image
}
0 голосов
/ 23 декабря 2012

работает над чем-то похожим.Надеюсь, это поможет другим, Получите еще немного кода:

каталог \ контроллер \ продукт

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

}

каталог \ view \ theme \ default \ template \ product

 <?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 } ?>
...