@Alpha12

Как вывести название категории в карточке товара?

Опенкарт 3 ситуация такая. нужно в карточку товара ввывести название категории. Пробовал так
в модель добавил

public function getCategoryNames($product_id) {     
        $query = $this->db->query("SELECT cd.name
                        FROM " . DB_PREFIX . "category_description cd
                        LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p2c.category_id = cd.category_id)
                            WHERE p2c.product_id = '" . (int)$product_id . "'
                            AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "'");     
        return $query->rows;
    }

В контролер после
$data['points'] = $product_info['points'];

Добавил
/add_cat_list_baco
       $data['cat_list'] = $this->model_catalog_product->getCategoryNames($product_id);
//EOF_add_cat_list_baco

В шаблоне вывожу так

{% if catlist %}
                {% for catlist in catname %}
                    <li>{{% catname.name %}}</li>
                {% endfor %}
{% endif %}

оновляю кэш модификаторов перехожу в карточку товара, а там ошибка twig
Ошибка

Fatal error: Uncaught Twig_Error_Syntax: Unexpected token "operator" of value "%" in "basecart/template/product/product.twig" at line 124. in /home/a0289328/domains/turbach.ru/public_html/system/library/template/Twig/ExpressionParser.php:190 Stack trace: #0 /home/a0289328/domains/turbach.ru/public_html/system/library/template/Twig/ExpressionParser.php(84): Twig_ExpressionParser->parsePrimaryExpression() #1 /home/a0289328/domains/turbach.ru/public_html/system/library/template/Twig/ExpressionParser.php(41): Twig_ExpressionParser->getPrimary() #2 /home/a0289328/domains/turbach.ru/public_html/system/library/template/Twig/Parser.php(144): Twig_ExpressionParser->parseExpression() #3 /home/a0289328/domains/turbach.ru/public_html/system/library/template/Twig/TokenParser/For.php(40): Twig_Parser->subparse(Array) #4 /home/a0289328/domains/turbach.ru/public_html/system/library/template/Twig/Parser.php(187): Twig_TokenParser_For->parse(Object(Twig_Token)) #5 /home/a0289328/domains/turbach.ru/public_html/system/library/template/Twig/T in /home/a0289328/domains/turbach.ru/public_html/system/library/template/Twig/ExpressionParser.php on line 190


Что я делаю не так ? Подскажите пожалуйста
  • Вопрос задан
  • 1281 просмотр
Решения вопроса 1
dimovich85
@dimovich85
https://u-academy.net/
{{ catname.name }}
Остальной код не смотрел, думаю, вроде все ок.
Ошибка - лишние %.
UPD: for catlist in catname, теперь в цикле надо использовать catlist.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы