我想对 a 的最后一项进行特定处理partialLoop
,文档中提到$this->partialCounter
但没有提到带有项目总数的变量...
<?php
if( $this->partialCounter == $mysteryvariable -1 ):
?>
我错过了一些我认为...无法掌握该变量的东西...
我想对 a 的最后一项进行特定处理partialLoop
,文档中提到$this->partialCounter
但没有提到带有项目总数的变量...
<?php
if( $this->partialCounter == $mysteryvariable -1 ):
?>
我错过了一些我认为...无法掌握该变量的东西...
为了获得项目的总数,您必须扩展 Zend_View_Helper_PartialLoop 以提供一个返回 PartialLoop 正在使用的可迭代对象的计数的方法。
或者,我会说这可能更容易,只需在将对象传递给 PartialLoop 之前获取对象中的项目数,因为您必须将 Traversable 对象或实际数组传递给 PartialLoop 帮助器,并且都实现对计数的支持()。
从文档中:
<?php // partialLoop.phtml ?>
<dt><?php echo $this->key ?></dt>
<dd><?php echo $this->value ?></dd>
<?php // MyController.php
public function indexAction()
{
$this->view->$model = array(
array('key' => 'Mammal', 'value' => 'Camel'),
array('key' => 'Bird', 'value' => 'Penguin'),
array('key' => 'Reptile', 'value' => 'Asp'),
array('key' => 'Fish', 'value' => 'Flounder'),
);
$this->view->modelCount = count($this->view->model);
}
来自 index.phmtl
<p>Count: <?= $this->modelCount ?></p>
<dl>
<?php echo $this->partialLoop('partialLoop.phtml', $this->model) ?>
</dl>
Zend_Registy::set('PartialCount', count($iterable));
$this->partialLoop($script,$iterable);
然后在你看来
$count = Zend_Registy::get('PartialCount');
又快又蹩脚,但工作。其他方法是扩展 PartialLoop 助手;)
我知道这是一个老问题,但在 ZF 1.12.1 中这将得到修复。在此之前,有一个补丁可以在以下 URL 下获取:
http://framework.zend.com/issues/browse/ZF-7151
问候,萨沙