2015-01-09 3 views
0

Я пытаюсь добавить ярлыки на страницу списка продуктов на основе особых условий. Я покупаю одну бесплатную продажу, поэтому, когда пользователь посещает купить 1 получить 1 бесплатную категорию, он должен уметь видеть этикетку на продуктах (в моем случае у меня есть изображение bogo.png). Все отлично работало с изменениями, которые я сделал до тех пор, пока я не искал в магазине для продукта, я получаю неопределенную переменную ошибку.Отображение метки в opencart на основе категории

2015-01-09 18:26:58 - PHP Notice: Undefined index: bogo in catalog/view/theme/YourTheme/template/product/product_collection.tpl on line 26

Я искал проблему и просматривал открытые форумы в течение нескольких дней без везения. Итак, вот что я делал до сих пор. На Category.php в каталоге/файле контроллера я добавил в этот массив

$this->data['products'][]= array(
'bogo'   => $bogo, 

И добавил это условие в getProducts, указав, является ли идентификатор категории идентификатором категории для покупки 1 получить 1 бесплатную категорию, установленную 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, и я сделал все возможное, чтобы исследовать часами, чтобы решить эту проблему.

ответ

2

вам нужно добавить этот кусок кода
if($category_id==977){$bogo = true;}else{$bogo = false;} $this->data['products'][]= array('bogo' => $bogo,
в контроллер/продукта/search.php =>ControllerProductSearch @ индекс

КСТАТИ: вам нужно будет оных приведенный выше код в каждом файле контроллера, который использует product/product_collection.tpl

+0

Я получаю ту же ошибку при поиске, когда добавляю это в search.php. –

+0

Каково название маршрута на странице поиска? –

+0

route = продукт/поиск, где я сделал изменение. –

Смежные вопросы