我有一个强烈修改的opencart商店。 我想在主要类别页面上显示子类别的所有产品。这是我的产品模型文件中的半完成代码。
} else {
$cat_sql = "SELECT `category_id` FROM `" . DB_PREFIX . "category_path` WHERE `path_id` = '" . (int)$data['filter_category_id'] . "'";
$cat_query = $this->db->query($cat_sql);
if ($cat_query->num_rows) {
$sql .= " AND (p2c.category_id = '" . (int)$data['filter_category_id'] . "'";
foreach($cat_query->rows as $cat) {
$sql .= " OR p2c.category_id = '" . (int)$cat['category_id'] . "'";
}
$sql .= ")";
} else {
$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";
}
}
它应该显示这些产品。
但是现在我有另一个表用于多个父类别。
我的问题是:如何显示子类别中的产品,我只有parent_id
而不是path_id
。
多类别表很简单。
category_id / parent_id
如何修改上面的代码,以便显示子类别中只有path_id
parent_id
的所有产品?
答案 0 :(得分:0)
您不需要修改sql只需传递额外的参数'filter_sub_category' => true
,它会列出所有产品,包括子类别
$filter_data = array(
'filter_category_id' => $category_id,
'filter_sub_category' => true
);
$results = $this->model_catalog_product->getProducts($filter_data);