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"
この原因は何ですか。
あなたは 'ます$ this->のpaginate(「コンテンツ」)を呼び出すすべきではありません:あなたは
link()
コールのパラメータが設定されているかのよう具体的には、あなたは、カスタムURLを渡すために
$options['url']
を使用することができます'' $ this-> Paginate( 'Content') 'の代わりに? PHPは大文字小文字を区別しませんが、CakePHPは大文字小文字を区別します。 – elitalonいいえ、$ this-> paginate( 'Content')に変更しますが、エラーはそのまま残ります。 – Zenth