の最後のアイテムに対して特定の処理を行いたいのですがpartialLoop
、ドキュメント$this->partialCounter
にはアイテムの総数を含む変数については記載されていませんが、...
<?php
if( $this->partialCounter == $mysteryvariable -1 ):
?>
私は私が思う何かを逃しています...その変数を手に入れることができません...
の最後のアイテムに対して特定の処理を行いたいのですがpartialLoop
、ドキュメント$this->partialCounter
にはアイテムの総数を含む変数については記載されていませんが、...
<?php
if( $this->partialCounter == $mysteryvariable -1 ):
?>
私は私が思う何かを逃しています...その変数を手に入れることができません...
アイテムの総数を取得するには、Zend_View_Helper_PartialLoopを拡張して、PartialLoopによって使用されている反復可能なオブジェクトの数を返すメソッドを提供する必要があります。
または、これはおそらく簡単だと思います。Traversableオブジェクトまたは実際の配列のいずれかをPartialLoopヘルパーに渡す必要があり、両方ともカウントのサポートを実装する必要があるため、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ヘルパーを拡張することです;)
これは古い問題であることはわかっていましたが、ZF1.12.1では修正される予定です。それまでは、次のURLの下にあるパッチがあります。
http://framework.zend.com/issues/browse/ZF-7151
よろしく、サシャ