php - Zend Framework 如何获取循环中的项目数?部分循环部分计数器和?

标签 php zend-framework partial-views

我想对 partialLoop 的最后一项(documentation)进行特定处理。提及 $this->partialCounter 但没有提到项目总数的变量...

<?php
if( $this->partialCounter == $mysteryvariable -1 ): 
?>

我错过了一些我认为的东西......无法掌握该变量......

最佳答案

为了获取项目总数,您必须扩展 Zend_View_Helper_PartialLoop 以提供一个方法来返回 PartialLoop 所使用的可迭代对象的计数。

或者,我想说这可能更容易,只需在将对象传递到 PartialLoop 之前获取对象中的项目数,因为您必须将 Traversable 对象或实际数组传递到 PartialLoop 帮助器中,并且两者都实现支持 count()。

来自文档:

<?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>

关于php - Zend Framework 如何获取循环中的项目数?部分循环部分计数器和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1699588/

相关文章:

javascript - 当尝试执行基于 ajax 的分页或过滤时,在部分 View 内呈现的 WebGrid 将引发 "“jQuery is not defined” "

c# - MVC 4 - 如何将模型数据传递给局部 View ?

php - Flex、php 的 MySQL 查询问题

PHP 表单提交时自动递增数字

php - Zend 1 3d party NameSpaces 自动加载不起作用

zend-framework - 在新地方显示操作结果(不使用 $this->layout()->content; )

php/Codeigniter--如何通过排除时间来比较日期

php - 从 PHP 中的键列表创建新数组

php - $this->headTitle 转义数据

javascript - 使用 MVC 部分 View 后使用 JQuery/AJAX 刷新内容