[英]How to show subcategory image in header category menù?
在 Opencart 版本2.0.2.0上,當標題類別下拉菜單打開時,我需要在名稱旁邊顯示子類別圖像(拇指)。 我嘗試通過自己對代碼采取行動來獲得它,但沒有任何嘗試。 我需要你的幫助,提前致謝。
在header.tpl
下面的代碼中,您可以看到我想要子類別圖像的位置。 它會出現在下拉菜單中。 如何自定義header.php
文件來實現?
<?php if ($categories) { ?>
<div class="container">
<nav id="menu" class="navbar">
<div class="navbar-header"><span id="category" class="visible-xs"><?php echo $text_category; ?></span>
<button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<?php foreach ($categories as $category) { ?>
<?php if ($category['children']) { ?>
<li class="dropdown"><a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a>
<div class="dropdown-menu">
<div class="dropdown-inner">
<?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
<ul class="list-unstyled">
<?php foreach ($children as $child) { ?>
<li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
SUBCATEGORY IMAGE HERE
<?php } ?>
</ul>
<?php } ?>
</div>
<a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div>
</li>
<?php } else { ?>
<li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
<?php } ?>
<?php } ?>
</ul>
</div>
</nav>
</div>
<?php } ?>
在您的 header.php (catalog > controller > common) 中,這些是負責類別子數據的數組,顯示在標題中
$children_data;
所以你只需要在這個數組中添加拇指/圖像,好消息是它在已經獲取的數據中,所以只需將圖像添加到這個數組中。 為此,您必須先添加調整大小(好習慣)圖像,只需加載圖像模型
$this->load->model('tool/image');
在此行之后(沒有限制,添加到任何你想要的地方;))
$this->load->model('catalog/product');
現在在您的類別子數組中添加圖像索引
$children_data[] = array(
我是這樣加的
$children_data[] = array(
'image' => $child['image'] ? $this->model_tool_image->resize($child['image'], 20, 20) : false,
它將檢查類別是否有圖像,如果您想始終顯示圖像,則可以使用它
'image' => $child['image'] ? $this->model_tool_image->resize($child['image'], 20, 20) : $this->model_tool_image->resize('your-default-image.jpg', 20, 20),
現在您的控制器工作已完成。 是時候在模板中查看這些更改了。 將此代碼添加到 header.tpl(目錄> 視圖> 主題> your-theme(我的默認值)> 模板>)並在您的問題中添加此代碼
<?php if($child['image']){ ?>
<img src="<?php echo $child['image']; ?>" />
<?php } ?>
是不是很甜:)
注意 - 請使用 vqmod/ ocmod 添加此更改。 直接更改核心文件是個壞主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.