我很困惑如何使用partialLoop
目前我使用
foreach ($childrenTodos as $childTodo) {
echo $this->partial('todos/_row.phtml', array('todo' => $childTodo));
}
$childrenTodos
是 Doctrine\ORM\PersistantCollection
, $childTodo
是 Application\Models\Todo
我试着做
echo $this->partialLoop('todos/_row.phtml', $childrenTodos)
->setObjectKey('Application\Models\Todo');
但是,当我尝试访问 Todo 类的属性/函数时,我似乎无法让它们总是以调用未定义的方法
Zend_View::myFunction()
结束。当我使用 $this->myFunction()
在部分或如果我尝试 $this->todo->getName()
我得到“调用非对象上的成员函数 getName()”。我如何使用部分循环?
最佳答案
尝试这个
echo $this->partialLoop('todos/_row.phtml', $childrenTodos)
->setObjectKey('object');
然后在您的部分中,您可以像这样访问对象
$this->object
object
是将分配给对象的变量的名称如果您可以像这样访问 View 对象,您也可以在 Bootstrap 或其他初始化类中执行此操作
protected function initPartialLoopObject()
{
$this->_view->partialLoop()->setObjectKey('object');
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$viewRenderer->setView($this->_view);
}
关于zend-framework - 如何对对象使用 Zend Framework 的部分循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794538/