2012-12-15 74 views
1

有没有办法在Opencart v1.5.4.1的产品页面中获得产品的类别parent_id。试图根据类别parent_id更改按钮href。如果parent_id = 20,那么按钮应该有href1 else href2。在产品页面上获取类别父ID - opencart

到目前为止,我已经做到了这一点,但它不工作。

在模板文件之前,“$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

这看起来做工精细。该产品是否属于多个类别? –

+0

是的,我也使用你的更好的类别模块....非常有帮助:) – eesyboi

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

请注意,这还没有经过测试,但在理论上应该

+0

是的!完美地工作,非常感谢..如果我可以在这里说,我感谢您对Opencart的支持,与其他开发人员相比,除Qphoria之外。 :)谢谢 – eesyboi

+0

没问题。不要忘记用勾号标记答案 –

相关问题