我的组件中有一个值数组,我想在default.htm中输出它,我的组件是这样的:
$settings = Settings::instance();
$this->ogFbAdmins = $settings->str_og_fb_admins;
ogFbAdmins从后端的转发器字段获取值,该字段允许用户创建他想要的任意数量的输入框,我想在php中为每个输入框做一些事情但是在twig上,如果我输出我的使用此代码的数组:
foreach ($this->ogFbAdmins as $adm) {
echo $adm['str_og_fb_admins'];
}
它返回:
admin1admin2
我的default.htm上的twig代码是这样的:
{% if __SELF__.ogFbAdmins == true %}
{% for ad in __SELF__.ogFbAdmins %}
{% if ad|length %}
<meta property="fb:admins" content="{{ ad }}" />
{% endif %}
{% endfor %}
{% endif %}
我的这个twig代码返回错误
“在渲染模板期间抛出异常(”数组到字符串转换“)。”
最终我希望它返回的是:
<meta property="fb:admins" content="admin1" />
<meta property="fb:admins" content="admin2" />
如果您不理解这个问题,请随时提出任何问题。
答案 0 :(得分:0)
只需将content="{{ad}}"
更改为content="{{ad.str_og_fb_admins}}"
即可使其正常运行。
树枝代码将是这样的:
{% if __SELF__.ogFbAdmins == true %}
{% for ad in __SELF__.ogFbAdmins %}
{% if ad.str_og_fb_admins|length %}
<meta property="fb:admins" content="{{ ad.str_og_fb_admins }}" />
{% endif %}
{% endfor %}
{% endif %}