微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sulu:如何获取相关文章标签网址?

如何解决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 举报,一经查实,本站将立刻删除。