drfu29983 2019-04-27 00:28
浏览 33
已采纳

当从模板传递到Craft 3中的自定义模板标记时,如何在标记字段上循环?

Supposing I have a Twig template like this:

{{ craft.myPlugin.bar(entry.specialTags) }}

How can I efficiently do the following within my custom template tag?

public function bar($tags)
{
    if ($tags->contains('blah')) { // pseudo-code!
        // return something...
    }
}
  • 写回答

1条回答 默认 最新

  • dreamy1992 2019-05-04 09:38
    关注

    It seems that you can loop through each of the tags of a tag field like this:

    for ($tagField->all() as $tag) {
        if ($tag->title == "blah") {
            // return something...
        }
    }
    

    Or to use something like the following to convert into a list of just tag titles:

    $tagTitles = array_map(
        function($tag) { return $tag->title; },
        $tagField->all()
    );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 spring后端vue前端
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题