基于类别在opencart中显示标签
Displaying Label in opencart based on Category
我正在尝试根据特殊情况在产品列表页面上添加标签。我有买一送一的促销活动,所以当用户访问买 1 送 1 类别时,他应该能够看到产品上的标签(在我的例子中,我有 bogo.png 图片)。我所做的修改一切正常,直到我在店面搜索产品时,出现未定义的变量错误。
2015-01-09 18:26:58 - PHP Notice: Undefined index: bogo in catalog/view/theme/YourTheme/template/product/product_collection.tpl on line 26
我 google 搜索了这个问题并浏览了 opencart 论坛好几天了,但都没有成功。所以这就是我到目前为止所做的。在 catalog/controller 文件中的 Category.php 上,我在这个数组下添加了
$this->data['products'][]= array(
'bogo' => $bogo,
并在 getProducts 下添加此条件,指定类别 ID 是否为买一送一类别的类别 ID,将 bogo 设置为 true。
$results = $this->model_catalog_product->getProducts($data);
if($category_id==977){
$bogo = true;
}
else{
$bogo = false;
}
和 product_collection.tpl 文件,我做了这个改变。
<pre><code>
<?php if( $product['bogo'] ) { ?>
<span class="product-label-bogo2"><img src='bogo.png'></span>
<?php } else if ($product['special']) { ?>
<span class="product-label-special"><span><?php echo $this->language->get( 'text_sale' ); ?></span></span>
<?php } ?>
</code></pre>
如果我转到那个类别,一切都很好,它可以完美地显示标签,问题是只有当我在店面搜索任何东西时,才会出现上述错误。
请注意,在对问题进行负面评价之前,我对 php 一点都不熟悉,我尽了最大努力研究了几个小时来解决这个问题。
你需要添加那段代码
if($category_id==977){$bogo = true;}else{$bogo = false;}
$this->data['products'][]= array('bogo' => $bogo,
至 controller/product/search.php => ControllerProductSearch@index
顺便说一句:您需要在每个使用 product/product_collection.tpl
的控制器文件中添加上述代码
我正在尝试根据特殊情况在产品列表页面上添加标签。我有买一送一的促销活动,所以当用户访问买 1 送 1 类别时,他应该能够看到产品上的标签(在我的例子中,我有 bogo.png 图片)。我所做的修改一切正常,直到我在店面搜索产品时,出现未定义的变量错误。
2015-01-09 18:26:58 - PHP Notice: Undefined index: bogo in catalog/view/theme/YourTheme/template/product/product_collection.tpl on line 26
我 google 搜索了这个问题并浏览了 opencart 论坛好几天了,但都没有成功。所以这就是我到目前为止所做的。在 catalog/controller 文件中的 Category.php 上,我在这个数组下添加了
$this->data['products'][]= array(
'bogo' => $bogo,
并在 getProducts 下添加此条件,指定类别 ID 是否为买一送一类别的类别 ID,将 bogo 设置为 true。
$results = $this->model_catalog_product->getProducts($data);
if($category_id==977){
$bogo = true;
}
else{
$bogo = false;
}
和 product_collection.tpl 文件,我做了这个改变。
<pre><code>
<?php if( $product['bogo'] ) { ?>
<span class="product-label-bogo2"><img src='bogo.png'></span>
<?php } else if ($product['special']) { ?>
<span class="product-label-special"><span><?php echo $this->language->get( 'text_sale' ); ?></span></span>
<?php } ?>
</code></pre>
如果我转到那个类别,一切都很好,它可以完美地显示标签,问题是只有当我在店面搜索任何东西时,才会出现上述错误。 请注意,在对问题进行负面评价之前,我对 php 一点都不熟悉,我尽了最大努力研究了几个小时来解决这个问题。
你需要添加那段代码
if($category_id==977){$bogo = true;}else{$bogo = false;}
$this->data['products'][]= array('bogo' => $bogo,
至 controller/product/search.php => ControllerProductSearch@index
顺便说一句:您需要在每个使用 product/product_collection.tpl
的控制器文件中添加上述代码