0

我正在使用 Opencart 1.5.1.1,需要获取每个顶部菜单类别描述元标记并将其显示为相应下拉菜单的标题(只是文本,而不是链接)。它或多或少应该是这样的:

Item1, Item2 - 通常的顶部菜单项
Super Item1 - 带有描述元标记的下拉标题
subitem1, subitem2, ... - 子类别下拉列表

我不能发布图片,所以希望你能明白我的意思。

关于图像,StackOverflow 不允许我 - 我需要更多积分。

这是 catalog\view\theme\default\template\common\header.tpl 中的菜单代码

<?php if ($categories) { ?>
<div id="menu">
  <ul>
    <?php foreach ($categories as $category) { ?>
    <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
      <?php if ($category['children']) { ?>
      <div>
        <?php for ($i = 0; $i < count($category['children']);) { ?>
        <ul><p><?php echo $category['meta_description']; ?></p><!-----HERE------->
          <?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
          <?php for (; $i < $j; $i++) { ?>
          <?php if (isset($category['children'][$i])) { ?>
          <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
          <?php } ?>
          <?php } ?>
        </ul>
        <?php } ?>
      </div>
      <?php } ?>
    </li>
    <?php } ?>
  </ul>
</div>

我玩过上面的代码,但我得到了未定义的索引通知(尝试 $category['meta_description'])\

或所有下拉列表的相同元描述,具体取决于我所在的页面(使用 $description 时)\ 例如,主页上的商店描述,category1 页面上的 category1 描述等等。

另一个文件可能对此负责,但我不知道如何在那里进行更改。这是文件 catalog\controller\common\header.php 和代码:

// Menu
        $this->load->model('catalog/category');
        $this->load->model('catalog/product');

        $this->data['categories'] = array();

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

        foreach ($categories as $category) {
            if ($category['top']) {
                $children_data = array();

                $children = $this->model_catalog_category->getCategories($category['category_id']);

                foreach ($children as $child) {
                    $data = array(
                        'filter_category_id'  => $child['category_id'],
                        'filter_sub_category' => true   
                    );      

                    $product_total = $this->model_catalog_product->getTotalProducts($data);

                    $children_data[] = array(
                        'name'  => $child['name'] . ' (' . $product_total . ')',
                        'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])   
                    );                  
                }

                // Level 1
                $this->data['categories'][] = array(
                    'name'     => $category['name'],
                    'children' => $children_data,
                    'column'   => $category['column'] ? $category['column'] : 1,
                    'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
                );
            }
        }
4

0 回答 0