有没有办法在Opencart v1.5.4.1的产品页面中获取产品的类别parent_id。是什么尝试根据类别parent_id更改按钮href ..如果parent_id = 20,则按钮应该具有href1 else href2。
到目前为止,我已经完成了这项工作,但它无效。
在“$this->load->model('tool/image');
”之前添加
$product_cat = $this->model_catalog_product->getCategories($product_id);
$product_cat_parent = $this->model_catalog_category->getCategory($product_cat[0]['category_id']);
if ($product_cat_parent['parent_id'] == '20') {
$this->data['sizeguide'] = $this->url->link('faq/faq/info', 'fpath=12');
} else {
$this->data['sizeguide'] = $this->url->link('faq/faq/info', 'fpath=13');
}
模板文件中的:
<a class="button2 sizeguidebox" href="<?php echo $sizeguide; ?>"><?php echo $text_sizeguide; ?></a>
答案 0 :(得分:1)
这看起来更复杂,但它实际上更简单,更有效,作为一种简单的检查方法。它将选择与当前产品相关的所有类别,查找所有类别信息,并使用parent_id为20过滤类别。如果查询有任何结果(即其中一个类别是ID为20的类别的子类别)然后它会相应地设置常见问题信息
$product_cat = $this->model_catalog_product->getCategories($product_id);
$result = $this->db->query("
SELECT
`c`.`parent_id`
FROM
`" . DB_PREFIX . "category` `c`
LEFT JOIN
`" . DB_PREFIX . "product_to_category` `p2c`
ON
`c`.`category_id` = `p2c`.`category_id`
WHERE
`c`.`parent_id` = '20'
AND
`p2c`.`product_id` = '" . (int) $product_id . "'
");
if($result->num_rows > 0) {
$this->data['sizeguide'] = $this->url->link('faq/faq/info', 'fpath=12');
} else {
$this->data['sizeguide'] = $this->url->link('faq/faq/info', 'fpath=13');
}
请注意,这尚未经过测试,但理论上应该有效