簡體   English   中英

如何在標題類別菜單中顯示子類別圖像?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM