我在课堂中有方法,最后两个字符会返回一个或另一个值。方法是:
getLastnameAD,getLastnameIN getLastanemBB
我想使用宏传递两个字符来获取值,或多或少如下。
{% macro getLastName (obj, suff) %}
<span>Lastname: {{ obj.getLastname ~ suff }}</span>
{% endmacro %}
但我收到以下错误;
Method "getLastname" for object ... does not exist in ...
你知道吗是否可以?如果不可能的话。是任何解决方案?
问候并谢谢。
答案 0 :(得分:1)
您显示的错误是因为Twig正在尝试在您的对象中执行getLastname()
方法并且未定义它。
解决方案是@qooplmao在之前的评论中提供的解决方案并使用attribute() function:
{{ attribute(obj, 'getLastname' ~ suff) }}