苏鲁:如何获取相关文章标签url



我收到了这样的相关(标记(新闻文章:

<property name="related" type="smart_content">
<!-- @see https://docs.sulu.io/en/2.2/reference/content-types/smart_content.html -->
<meta>
<title lang="en">Related content</title>
<title lang="de">Verwandte Inhalte </title>
</meta>
<params>
<param name="provider" value="articles"/>
<param name="types" value="news"/>
<param name="max_per_page" value="3"/>
</params>
</property>

这就像3篇文章的类型";新闻";。在过滤器选项(后端(中,我设置这些文章必须用一些特定的标记进行标记。

从页面小树枝模板,我可以打印这些标签,如:

{% for related in content.related %}
{% for tag in related.content.excerpt.tags %}
{{ tag.name }} ({{ tag.id }})
{% endfor %}
<a href="{{ related.routePath }}">{{ related.title }}</a>
{% endfor %}

我能做到的最好的就是获取标签名称和id。如何获取标签url?如果我尝试类似的东西:

{{ sulu_tag_url(tag) }}

我得到了">不能将类型为Sulu\Bundle\ArticleBundle\Document\TagViewObject的对象用作数组"。我可以以某种方式使用标签id来获取它的url吗?

sulu_tag_url扩展需要一个数组,而不是TagViewObject

扩展调用此方法TagRequestHandler::setTagToUrl。该方法只需要标记的name属性,因此最好使用标记的name创建一个对象。

例如{{ sulu_tag_url({'name': tag.name}) }}

但我同意你的观点,这不是开发人员所期望的,sulu_tag_url扩展需要一个串行化的Tag对象。如果您不介意,可以在git存储库中为此创建一个问题。

最新更新