Ошибка не явная, но если бы был включен strict режим для твига, то она была бы выявлена давно Код: {% for i in 0..tags|length %} {% if i < (tags|length - 1) %} <a href="{{ tags[i].href }}">{{ tags[i].tag }}</a>, {% else %} <a href="{{ tags[i].href }}">{{ tags[i].tag }}</a> {% endif %} {% endfor %} </p> Если есть метки но считаются от 0 а цикл до количества в результате имеем <a href=""></a> Элемента нет Исправляем Код: {% for i in 0..(tags|length - 1) %} {% if i < (tags|length - 1) %} <a href="{{ tags[i].href }}">{{ tags[i].tag }}</a>, {% else %} <a href="{{ tags[i].href }}">{{ tags[i].tag }}</a> {% endif %} {% endfor %} </p>
В продолжение бывает теги (метки) фф, ыы, вв, последний элемент пустой Код: $data['tags'] = array(); if ($product_info['tag']) { $tags = explode(',', $product_info['tag']); foreach ($tags as $tag) { $data['tags'][] = array( 'tag' => trim($tag), 'href' => $this->url->link('product/search', 'tag=' . trim($tag)) ); } } Вижу два решения Код: $data['tags'] = array(); if ($product_info['tag']) { $tags = explode(',', $product_info['tag']); $tags = array_filter($tags); foreach ($tags as $tag) { $data['tags'][] = array( 'tag' => trim($tag), 'href' => $this->url->link('product/search', 'tag=' . trim($tag)) ); } } Код: $data['tags'] = array(); if ($product_info['tag']) { $tags = explode(',', $product_info['tag']); $tags = array_filter($tags); foreach ($tags as $tag) { if (trim($tag)) { $data['tags'][] = array( 'tag' => trim($tag), 'href' => $this->url->link('product/search', 'tag=' . trim($tag)) ); } } }
Еще if (isset($this->request->get['search']) || isset($this->request->get['tag'])) { https://demo.opencart.com/index.php?route=product/search&tag= https://demo.opencart.com/index.php?route=product/search&search= if (!empty($this->request->get['search']) || !empty($this->request->get['tag'])) { Т.е. пустая метка - случайно забытая запятая И у вас есть немножко проблем
Да, есть такой баг. Была подобная тема. http://forum.opencart-russia.ru/threads/problema-s-tegami-opencart-3.8800/
1. ошибка в шаблоне 2. ошибка - не т фильтрации на пустое значение 3 не верная проверка на пустой get в контроллере search