Jie*_*eng 6 zend-framework zend-view
我很困惑如何使用 partialLoop
目前我用
foreach ($childrenTodos as $childTodo) {
echo $this->partial('todos/_row.phtml', array('todo' => $childTodo));
}
Run Code Online (Sandbox Code Playgroud)
$childrenTodos是一个Doctrine\ORM\PersistantCollection,$childTodo是一个Application\Models\Todo
我试过了
echo $this->partialLoop('todos/_row.phtml', $childrenTodos)
->setObjectKey('Application\Models\Todo');
Run Code Online (Sandbox Code Playgroud)
但是当我试图访问我的Todo类的属性/函数时,我似乎无法让它们总是以Zend_View::myFunction()我$this->myFunction()在部分中使用时调用未定义的方法或者如果我尝试$this->todo->getName()"调用成员函数" getName()在非对象上".我如何使用partialLoops?
试试这个
echo $this->partialLoop('todos/_row.phtml', $childrenTodos)
->setObjectKey('object');
Run Code Online (Sandbox Code Playgroud)
然后在您的部分中,您可以像这样访问对象
$this->object
Run Code Online (Sandbox Code Playgroud)
object 是对象将分配给的变量的名称
如果您有权访问视图对象,也可以在Bootstrap或其他初始化类中执行此操作一次
protected function initPartialLoopObject()
{
$this->_view->partialLoop()->setObjectKey('object');
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$viewRenderer->setView($this->_view);
}
Run Code Online (Sandbox Code Playgroud)