Phalcon Volt模板:循环中text_area无法解析变量名求助
解决Twig中text_area函数变量不解析的问题
嘿,这个问题我太熟悉了!你碰到的是Twig模板里变量解析的典型小坑——你在text_area函数的第一个参数里用了{{ }}包裹变量,这会让Twig把它当成字面字符串处理,自然只会输出language.getLanguage()这个文本,而不是解析后的语言值。
问题根源
Twig的函数参数本身就处于Twig的语法上下文里,不需要再用{{ }}来包裹变量(那是用来在HTML中输出变量值的语法)。你把变量放在''里再加{{ }},相当于告诉Twig:“我要传一个字符串,内容就是{{ language.getLanguage() }}”,而不是让它解析变量。
修改后的代码
把text_area里的'{{ language.getLanguage() }}'直接改成language.getLanguage()就可以了,去掉多余的引号和模板输出标签:
{% for language in languages %} <div class="form-group"> <label for="{{ language.getLanguage() }}">{{ language.getLanguage() }}</label> {{ text_area(language.getLanguage(), 'size' : 30, 'class' : 'form-control form-filter input-sm') }} </div> {% endfor %}
额外说明
你label里的写法是完全正确的,因为那是在HTML标签的文本内容中,必须用{{ }}来输出变量的值;而text_area是Twig的函数,参数直接传递变量名就能让Twig解析它的实际值啦。
内容的提问来源于stack exchange,提问作者user1547410
相关产品推荐
相关产品推荐

