将后缀连接到twig方法

时间:2016-04-20 10:20:18

标签: symfony macros twig

我在课堂中有方法,最后两个字符会返回一个或另一个值。方法是:

getLastnameAD,getLastnameIN getLastanemBB

我想使用宏传递两个字符来获取值,或多或少如下。

{% macro getLastName (obj, suff) %}
    <span>Lastname: {{ obj.getLastname ~ suff }}</span>
{% endmacro %}

但我收到以下错误;

Method "getLastname" for object ... does not exist in ...

你知道吗是否可以?如果不可能的话。是任何解决方案

我无法编辑生成它的对象和方法,因此,我必须在视图中获取它,因为它是我处理数据的唯一地方。

问候并谢谢。

1 个答案:

答案 0 :(得分:1)

您显示的错误是因为Twig正在尝试在您的对象中执行getLastname()方法并且未定义它。

解决方案是@qooplmao在之前的评论中提供的解决方案并使用attribute() function

{{ attribute(obj, 'getLastname' ~ suff) }}