Opencart 2.0.0只有一个子类别的顶级菜单应该转到该页面的缩略图

时间:2015-03-18 14:29:49

标签: php opencart opencart2.x

我需要opencart 2.0的帮助。顶级菜单。

如果主类别只有一个子类别,那么它应该跳过拼贴页面并直接转到该子类别的大拇指。

我是PHP和opencart的新手。我已经尝试更改标题控制器和模型目录,但两种更改都不起作用。

1 个答案:

答案 0 :(得分:0)

对于任何想要回答此问题的人,我必须编辑catalog / controller / common / header.php 和目录/型号/目录/ category.php

在category.php中我添加了这个功能

public function getCategoryFirstChildId($category_id) {
    $query = $this->db->query('SELECT category_id FROM '. DB_PREFIX .'category WHERE parent_id = '. (int)$category_id .' ORDER BY category_id ASC LIMIT 1');

    return $query->row['category_id'];
}

并在header.php中我将代码更改如下

/* New Code starts  here  */

/*NEW =>*/  $category_total = $this->model_catalog_category->getTotalCategoriesByCategoryId($category['category_id']);

/*NEW =>*/  $first_child_id = $this->model_catalog_category->getCategoryFirstChildId($category['category_id']);

      if($category_total>1)
{

                // Level 1
                $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'])
                );
}

else

{
                           // Level 1
                $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']. '_' . $first_child_id)
                );

}

/* New Code ends here  */