在树枝[OctoberCMS]中打印数组的输出值

时间:2016-06-02 08:47:53

标签: php arrays laravel twig octobercms

我的组件中有一个值数组,我想在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" />

如果您不理解这个问题,请随时提出任何问题。

1 个答案:

答案 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 %}