我需要opencart 2.0的帮助。顶级菜单。
如果主类别只有一个子类别,那么它应该跳过拼贴页面并直接转到该子类别的大拇指。
我是PHP和opencart的新手。我已经尝试更改标题控制器和模型目录,但两种更改都不起作用。
答案 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 */