如何解决Sulu:如何获取相关文章标签网址?
<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。如何获取标签网址?如果我尝试以下操作:
{{ sulu_tag_url(tag) }}
我得到“不能使用类型为 Sulu\Bundle\ArticleBundle\Document\TagViewObject 作为数组的对象”。 我可以以某种方式使用标签 ID 来获取它的网址吗?
解决方法
sulu_tag_url
扩展需要一个数组而不是 TagViewObject
。
扩展调用此方法TagRequestHandler::setTagToUrl。该方法只需要标签的 name
属性,所以最好的办法是使用标签的 name
创建一个对象。
例如{{ sulu_tag_url({'name': tag.name}) }}
但我同意您的看法,开发人员不希望 sulu_tag_url
扩展需要序列化的 Tag
对象。如果您不介意,您可以在 git repository 中为此创建一个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。