在 Twig 中使用点表示法和 attribute()

问题描述 投票:0回答:1

是否有人尝试执行诸如

{{ attribute(item, 'subItem.title') }}
之类的操作来访问以下伪代码中的结构:

class Item {
   private $subItem;
   
   public function __construct() { $this->subItem = new SubItem(); }
   public function getSubItem() { return $this->subItem; }
}

class SubItem {
    private $title = '';

    public function getTitle() { return $this->title; }
}

对于 Twig 中的场景,我正在这样做,属性的第二部分来自 Twig 变量,所以我不能只这样做

{{ item.subItem.title }}
。关于如何通过
attribute
访问标题有什么想法吗?

symfony twig
1个回答
0
投票

您不需要使用第二个属性,因为您已经知道要使用哪个属性。属性函数将仅按原样返回变量/实例,这意味着您可以链接返回变量的任何方法/属性。

{{ attribute(item, property).title }}

演示

© www.soinside.com 2019 - 2024. All rights reserved.