获取产品页面上的类别父ID - opencart

时间:2012-12-15 13:56:39

标签: php opencart

有没有办法在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>

1 个答案:

答案 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');
}

请注意,这尚未经过测试,但理论上应该有效