将标签添加到 extension/module

Adding Tags to an extension/module

我正在尝试让产品标签显示在特色模块上,事实上,在网站的任何地方!我已经设法让标签正常工作,但出于某种原因,它只在所有产品(相同标签)上显示 1 个标签,而不是为每个项目使用单独的标签。

我拥有的每个产品都有自己的标签,只是,相同的标签显示了我输入的位置!

我的 featured.php 控制器中有这个:

$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))
                    );
                }
        }

在我的 featured.twig 文件中:

{% if tags %}
    <p>{{ text_tags }}
    {% 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>
    {% endif %}

正如我所说,它只是为每个产品重复相同的标签,而不是使用每个产品自己的标签....我哪里错了?

非常感谢!

在featured.php控制器中,找到:

$data['products'][] = array(

替换为:

$product_tags = array();
if ($product_info['tag']) {
    $tags = explode(',', $product_info['tag']);
    foreach ($tags as $tag) {
        $product_tags[] = array(
            'tag'  => trim($tag),
            'href' => $this->url->link('product/search', 'tag=' . trim($tag))
        );
    }
}
$data['products'][] = array(
    'tags' => $product_tags,

并在featured.twig中使用:

{% if product.tags %}
<p>{% for i in 0..product.tags|length %}
{% if i < (product.tags|length - 1) %} <a href="{{ product.tags[i].href }}">{{ product.tags[i].tag }}</a>,
{% else %} <a href="{{ product.tags[i].href }}">{{ product.tags[i].tag }}</a> {% endif %}
{% endfor %} </p>
{% endif %}