2011-02-02 33 views
1

我要顯示的行數分頁程序Zend框架:分頁程序Zend框架我要顯示的行數:

實施例:

number productname  price 
1.  pen    25.00 
2.  Pencil   10.00 
3.  Booklet   12.00 

我想顯示的行數的的exaple(數行)。 (從分頁程序確定獲得)

+0

也許這是我,但我不確定你想要做什麼。你能否嘗試提供更多的上下文和解釋? – 2011-02-02 10:49:25

+0

請不要雙重發帖;重複項將被刪除。 – 2011-02-03 13:52:39

回答

0

我不知道你想要什麼,而是讓這個嘗試

$pages = $paginator->getPages(); 
var_dump($pages); 
echo $pages->pageCount; 

getPages()在其中您可以使用有關分頁程序對象的一些有用的信息。這將輸出類似:

object(stdClass)[201] 
    public 'pageCount' => int 4 
    public 'itemCountPerPage' => int 10 
    public 'first' => int 1 
    public 'current' => int 1 
    public 'last' => int 4 
    public 'next' => int 2 
    public 'pagesInRange' => 
    array 
     1 => int 1 
     2 => int 2 
     3 => int 3 
     4 => int 4 
    public 'firstPageInRange' => int 1 
    public 'lastPageInRange' => int 4 
    public 'currentItemCount' => int 10 
    public 'totalItemCount' => int 33 
    public 'firstItemNumber' => int 1 
    public 'lastItemNumber' => int 10 

如果做不到這一點,你可能需要做內環路的東西,而迭代的對象。例如在你看來:

$row = 0; 

foreach($this->paginator as $rowNumber => $data) 
{ 
    echo "I am row " . $rowNumber . "<br />"; 
} 

希望有幫助。

0

如果行前的數字與項目的id無關,則可以簡單地在數據顯示的每次迭代中增加一個計數器。

$i = 1; 
echo '<ul>'; 
foreach ($this->paginator as $item){ 
    echo '<li>' . $i . ' | ' . $item['name'] . ' | ' . $item['price'] . '</li>'; 
    $i++; 
} 
echo '</ul>'; 

非常相同的計數器可以用來製作斑馬錶(交替的背景顏色)配合使用模的。

$i = 1; 
echo '<ul>'; 
foreach ($this->paginator as $item){ 
    if($i % 2 == 0){ 
     $class = 'even'; 
    }else{ 
     $class = 'odd'; 
    } 
    echo '<li class = "' . $class . '">' . $i . ' | ' . $item['name'] . ' | ' . $item['price'] . '</li>'; 
    $i++; 
} 
echo '</ul>'; 
2

此刻,我能想到的三種方式,你可以從/使用分頁程序獲得當前項目數:使用的foreach的$鍵=> $項目

  • 。在這種情況下,$ key應該是您的物品編號。
  • 使用是Zend_Paginator
  • 的normalizeItemNumber方法,使用partialView輔助

所有三種方法都在下面的示例示出:

testAction

public function testAction() { 

     $input = array(
      array(
       'productname' => 'somename', 
       'price' => 23     
      ), 
      array(
       'productname' => 'somename2', 
       'price' => 657     
      ) 
     ); 

     $paginator = Zend_Paginator::factory($input); 
     $paginator->setCurrentPageNumber(1); 

     $this->view->paginator = $paginator; 
    } 

test.phtml查看腳本

<div> 
    <?php foreach ($this->paginator as $key => $item): ?> 

     Item Number (Method 1): <?php echo $key; ?> </br> 
     Item Number (Method 2): <?php echo $this->paginator->normalizeItemNumber($item); ?> </br> 

    <?php endforeach; ?>     

    Third Method through partialLoop view helper: 
    <?php echo $this->partialLoop('_partials/testPartial.phtml', $this->paginator); ?> 

</div> 

testPartial.phtml如下:

<div> 
    Item Number (Method 3): <?php echo $this->partialCounter; ?> </br> 
    <!-- Other values can be accessed as $this->productname --> 
</div> 

希望這是你在找什麼針對你的情況。