opencart 2.0 について助けが必要です。トップメニュー。
メイン カテゴリにサブカテゴリが 1 つしかない場合は、コラージュ ページをスキップして、その 1 つのサブカテゴリのサムネイルに直接移動する必要があります。
私はPHPとopencartが初めてです。ヘッダー コントローラーとモデル カタログを変更しようとしましたが、どちらの変更も機能しません。
opencart 2.0 について助けが必要です。トップメニュー。
メイン カテゴリにサブカテゴリが 1 つしかない場合は、コラージュ ページをスキップして、その 1 つのサブカテゴリのサムネイルに直接移動する必要があります。
私はPHPとopencartが初めてです。ヘッダー コントローラーとモデル カタログを変更しようとしましたが、どちらの変更も機能しません。
これに対する答えが必要な人は、catalog/controller/common/header.php と catalog/model/catalog/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 */