php - Symfony2数组访问twig错误

标签 php arrays symfony twig

我不知道发生了什么,但这是我的困境:
当我想访问 twig 中的嵌套数组时,出现此错误

Impossible to access an attribute ("path") on a integer variable ("10977") in KprCentarZdravljaBundle:Parts:articleDefaultBlock.html.twig at line 12

现在这是我的 Twig 代码:

{% if flag == 0 or flag == 1 %}
    {% set width = 230 %}
    {% set height = 154 %}
{% elseif flag == 2 %}
    {% set width = 60 %}
    {% set height = 60 %}
{% endif %}

{% for artCats in articles %}
  {% for artCat in artCats %}
    {% set img_url = globalimagepath ~ "articles/" ~ artCat.path %}
    {% set cid = artCat.cid %}
    {% set catname = artCat.name %}
    {% set aPath = path('article_details', {'id': artCat.id, 'catname': catname|pathauto,  'title': artCat.title|pathauto}) %}
     <li>
        <article>
            {% if loop.first %}
            {% if flag == 0 or flag == 1 %}
              <h3><a href="{{ path('category_details', {'id': cid, 'name': catname|pathauto}) }}">{{ catname|teaser(28) }}</a></h3>
            {% endif %}
            {% if flag != 3 %}<a href="{{ aPath }}"><img src="{{ image('http://'~ app.request.getHttpHost() ~ asset(img_url)).zoomCrop(width,height).jpeg }}" alt="{{ artCat.title }}"></a>{% endif %}
                <h1><a href="{{ aPath }}">{{ artCat.title|teaser(79) }}</a></h1>
            {% else %}
                <h2><a href="{{ path('article_details', {'id': artCat.id, 'catname': artCat.name|pathauto,  'title': artCat.title|pathauto}) }}">{{ artCat.title|teaser(37) }}</a></h2>
            {% endif %}
            </article>
      </li>
  {% endfor %}
{% endfor %}

这是我对 twig 中变量文章的调试:

array(4) {
  ["Zdravlje općenito"]=&gt;
  array(11) {
    [0]=&gt;
    array(5) {
      ["id"]=&gt;
      int(11659)
      ["title"]=&gt;
      string(36) "Brinete li o zdravlju svojih očiju?"
      ["path"]=&gt;
      string(18) "1330007101_516.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [1]=&gt;
    array(5) {
      ["id"]=&gt;
      int(14663)
      ["title"]=&gt;
      string(29) "Otkrijte uzročnike alergija!"
      ["path"]=&gt;
      string(18) "1380196476_342.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [2]=&gt;
    array(5) {
      ["id"]=&gt;
      int(14664)
      ["title"]=&gt;
      string(24) "Uzroci bolova u kukovima"
      ["path"]=&gt;
      string(18) "1380195386_853.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [3]=&gt;
    array(5) {
      ["id"]=&gt;
      int(14665)
      ["title"]=&gt;
      string(13) "Napadi panike"
      ["path"]=&gt;
      string(18) "1380195261_180.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [4]=&gt;
    array(5) {
      ["id"]=&gt;
      int(11170)
      ["title"]=&gt;
      string(28) "Čaj od ružmarina kao lijek"
      ["path"]=&gt;
      string(18) "1380116708_577.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [5]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10970)
      ["title"]=&gt;
      string(35) "Začinite i produžite svoj život!"
      ["path"]=&gt;
      string(18) "1380031350_101.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [6]=&gt;
    array(5) {
      ["id"]=&gt;
      int(11171)
      ["title"]=&gt;
      string(32) "Meditacijom do punine življenja"
      ["path"]=&gt;
      string(18) "1380103969_112.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [7]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10973)
      ["title"]=&gt;
      string(20) "Zašto volimo cimet?"
      ["path"]=&gt;
      string(18) "1379579290_899.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [8]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10977)
      ["title"]=&gt;
      string(32) "Simptomi hormonalne neravnoteže"
      ["path"]=&gt;
      string(18) "1379507943_927.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [9]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10978)
      ["title"]=&gt;
      string(46) "Čaj od đumbira - ukusni napitak koji liječi"
      ["path"]=&gt;
      string(18) "1379419241_320.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
    [10]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10979)
      ["title"]=&gt;
      string(24) "Zašto volimo ružmarin?"
      ["path"]=&gt;
      string(18) "1379335723_831.jpg"
      ["cid"]=&gt;
      int(266)
      ["name"]=&gt;
      string(18) "Zdravlje općenito"
    }
  }
  ["Izgled i ljepota"]=&gt;
  array(3) {
    [0]=&gt;
    array(5) {
      ["id"]=&gt;
      int(14662)
      ["title"]=&gt;
      string(20) "Joga za mršavljenje"
      ["path"]=&gt;
      string(18) "1380198181_298.jpg"
      ["cid"]=&gt;
      int(268)
      ["name"]=&gt;
      string(16) "Izgled i ljepota"
    }
    [1]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10971)
      ["title"]=&gt;
      string(32) "Najbolja prehrana za vašu kožu"
      ["path"]=&gt;
      string(18) "1379939148_517.jpg"
      ["cid"]=&gt;
      int(268)
      ["name"]=&gt;
      string(16) "Izgled i ljepota"
    }
    [2]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10974)
      ["title"]=&gt;
      string(30) "Najčešći uzročnici rosacee"
      ["path"]=&gt;
      string(18) "1379579025_722.jpg"
      ["cid"]=&gt;
      int(268)
      ["name"]=&gt;
      string(16) "Izgled i ljepota"
    }
  }
  ["Seks i veze"]=&gt;
  array(1) {
    [0]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10975)
      ["title"]=&gt;
      string(19) "10 mitova o orgazmu"
      ["path"]=&gt;
      string(18) "1379578683_758.jpg"
      ["cid"]=&gt;
      int(270)
      ["name"]=&gt;
      string(11) "Seks i veze"
    }
  }
  ["Sport i rekreacija"]=&gt;
  array(1) {
    [0]=&gt;
    array(5) {
      ["id"]=&gt;
      int(10976)
      ["title"]=&gt;
      string(41) "Što se događa s tijelom kada vježbate?"
      ["path"]=&gt;
      string(18) "1379577938_298.jpg"
      ["cid"]=&gt;
      int(271)
      ["name"]=&gt;
      string(18) "Sport i rekreacija"
    }
  }
}

由于某种原因,我无法访问嵌套数组中的任何变量...

最佳答案

Impossible to access an attribute ("path") on a integer variable ("10977") in KprCentarZdravljaBundle:Parts:articleDefaultBlock.html.twig at line 12

是否仅在数组中的第 8 个元素(id 为 10977 的元素)时出现错误?在到达该元素之前迭代是否有效?

关于php - Symfony2数组访问twig错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19045905/

相关文章:

php - 如何从电话号码字符串中删除初始(左侧) "+"或 "0"?

timezone - 未设置 PHP 时区

javascript - 为什么我不能在 JavaScript 中使用 concat 方法将 "argument"对象转换为数组?

javascript - 映射对象以将对象转换为数组

php - 如何解决连接问题上的 redis 错误?

url - 如何获得完整的URL,以将其包含在Symfony2发送的新闻通讯中?

php - 单击按钮调用函数,获取 url

php - 使用javascript在linux上执行shell命令

c - 查找二进制文件 C 中出现频率最高的字符串

php - Drupal 8 自定义注册表单