2011-11-29 24 views
0

CakePHP(1.2)のページネーションシステムには「少し」問題があります。ここでは、クエリは次のとおりです。CakePHPページネーション(最後のパラメータカット)

$this->paginate = array (
    'fields'  => array (
     'Content.slug', 
     'Content.title', 
     'Content.resume', 
     'Content.format', 
     'Content.image', 
     'Content.video', 
     'Criteria.name' 
    ), 
    'conditions' => $conditions, 
    'order'  => 'Content.created DESC', 
    'limit'  => 10, 
    'contain' => array (
     'Category', 
     'Criteria', 
    ) 
); 

$this->set("PRODUCTS", $this->Paginate("Content")); 

とビューのコード:

<?php $total_pages = (int)$paginator->counter(array('format' => '%pages%')); ?> 
<?php if($total_pages > 1){ ?> 
<div class="paginar"> 
    <div class="next_pre_arrow"> 
     <?=$paginator->prev("Anterior", array("class" => "pre", "escape" => false))?> 
     <?=$paginator->next("Siguiente", array("class" => "next", "escape" => false))?> 
     <div class="pages"> 
      <span>Página</span> <?=$paginator->numbers(array('separator' => ' | '))?> 
     </div> 
    </div> 
</div> 
<?php } ?> 

問題は何ですか?ページネーションは問題なく動作しますが、問題はありません。 「次へ」と「PREV」ボタンで、ページ番号に、URLには、例えば、最後のparamを削除、切り捨てられ:このURLで

"http://www.domain.com/controller-name/caction-name/option-1/option-2" 

ショーページングリンク:

"http://www.domain.com/controller-name/caction-name/option-1/page:2" 

正しくない:

"http://www.domain.com/controller-name/caction-name/option-1/option-2/page:2" 

この原因は何ですか。

+0

あなたは 'ます$ this->のpaginate(「コンテンツ」)を呼び出すすべきではありません:あなたはlink()コールのパラメータが設定されているかのよう

具体的には、あなたは、カスタムURLを渡すために$options['url']を使用することができます'' $ this-> Paginate( 'Content') 'の代わりに? PHPは大文字小文字を区別しませんが、CakePHPは大文字小文字を区別します。 – elitalon

+0

いいえ、$ this-> paginate( 'Content')に変更しますが、エラーはそのまま残ります。 – Zenth

答えて

0

options()メソッドを使用してPaginator helperによって生成されたリンクをカスタマイズできると思います。

$paginator->options(array(
    'url' => array(
    'controller' => 'YourController', 
    'action' => 'your_action' 
    'param1' => 'value_1', 
    'param2' => 'value_2', 
))); 
+0

この作品:<?php $ paginator-> options(array( 'url' => $ LEVEL2)); ?> $ LEVEL2は2番目のパラメータですが、なぜ2番目のパラメータを設定する必要があるのか​​わかりません。 – Zenth

関連する問題