【问题标题】:Zend Navigation - setParent Zend_Navigation_ContainerZend Navigation - setParent Zend_Navigation_Container
【发布时间】:2014-11-11 01:53:42
【问题描述】:

目前正在对 Zend Framework 网站进行一些修改。我一直试图改变的一件事是网站的导航结构和缓存。不幸的是,我遇到了一个小问题,由于某种原因,我无法弄清楚。

问题是我已经从数据库构建了一个多维树结构数组,我想将其传递给 Zend Navigation 类。对我来说,该数组似乎是合法的,但 Zend 抛出了 setParent 错误“传递给 Zend_Navigation_Page::setParent() 的参数 1 必须是 Zend_Navigation_Container 的实例,给定字符串”。

经过一些调试和研究,我找到了一个测试数组 (pastebin array) 并将其粘贴为第一个参数数组。该数组看起来(据我所知)与我生成的数组 (pastebin array) 几乎相同。

我希望有人可以帮助我解决这个问题。

最好的问候。

【问题讨论】:

    标签: zend-framework multidimensional-array zend-navigation


    【解决方案1】:

    发现问题。感谢“测试数组”,我从生成的数组中一一添加了变量。添加 $row['parent'] 变量后,'test array' 也崩溃了 setParent 错误。

    foreach($elements as $key => $value) {
    
        $leaf = $value
        $value['swag'] = $value['parent'];
    
        unset($value['parent']);
    
    }
    

    上面的代码不是使用的确切代码,只是修复了这个错误的sn-p。

    【讨论】:

      【解决方案2】:

      您需要确保发送给 setParent 的数组是 Zend_Navigation_Container 的一个实例。

      首先通过 Zend_Navigation() 粘贴您的数组,然后通过 Zend_Navigation_Page 的 setParent 函数粘贴实例。

      【讨论】:

      • 不是我做错了什么,只是我生成的数组有问题。我怎么知道这个?好吧,当我将所谓的“测试数组”直接传入 Zend_Navigation 时……它可以按我的意愿完美运行。其中一个孩子中的变量的数组结构一定有问题。
      猜你喜欢
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多