0

私はブログを作っており、URLルートは次のようになっています-

Router::connect('/blog/c/:catid/*', 
array('controller' => 'blogarticles', 'action' => 'index'));

URL as- /blog/c/3/other-articles でうまく機能します

しかし、ビューでページネーターを次のように使用すると

  echo $this->Paginator->numbers();

/blogarticles/index/other-articles/page:2 として URL を生成します。

適切な URL を生成するには、ページネーターでどのような変更を行う必要があります。

可能な解決策を提案してください、事前に感謝します

4

2 に答える 2

2

これで問題が解決するはずです:

$this->Paginator->options(
    array(
        'controller' => 'blog',
        'action' => 'c',
        $catid,
        $title
    )
);

秘訣は、blog をコントローラーとして、c をアクションとして渡し、他のすべての変数 ($catid と $title に限定されない) を追加パラメーターとして順番に渡すことです!

注: ここでは、コントローラから $catid と $title を現在の「カテゴリ ID」と「タイトル」に「設定」したと仮定します。また、URL は常に /blog/c/:catid/:title の形式であると仮定しました。

同様の質問に対する私の回答もご覧ください: https://stackoverflow.com/a/25097693/2862423

于 2014-08-02T17:47:41.037 に答える
0

必要なのは、そのビューの PaginatorHelper のオプションを設定することです。

<?php $this->Paginator->options(array('url' => '/blog/c/3/other-articles')); ?>

PaginatorHelper オプション関数の CakePHP Book セクション: http://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#modifying-the-options-paginatorhelper-uses

于 2013-04-09T07:00:56.463 に答える