0

私は最近、これを理解しようとしてきました。ページネーションのために URL に「ページ」パラメータを追加したいときに問題が発生しました。

これは私のルーターです


        ->addRoute('budi',new Zend_Controller_Router_Route(':lang/budi',array('controller' => 'budi', 'action' => 'index', 'page' => 1), array('lang'=>$s, 'page' => '\d+')))
        ->addRoute('budi1',new Zend_Controller_Router_Route(':lang/budi/page/:page',array('controller' => 'budi', 'action' => 'index', 'page' => 1), array('lang'=>$s, 'page' => '\d+')))

次に、自分の URL にアクセスします。


http://localhost/learningsystem/en/budi

しかし、ページネーション リンクにカーソルを合わせると、ページ パラメータが表示されません。URL はまだ http://localhost/learningsystem/en/budi です

しかし、このように最後にインデックスを付けて同じURLを入力すると


http://localhost/learningsystem/en/budi/index

またはこれのように


http://localhost/learningsystem/en/budi/page/1

ページ 2 のリンクhttp://localhost/learningsystem/en/budi/index/page/2をクリックすると、ページ パラメータが完全に表示されます。

実際、URL の最初に「index」や「page」を含めたくありません。とにかく、Zend のデフォルトの pagination.phtml テンプレートを使用します。誰でもこの問題を解決するのを手伝ってくれますか?

どうもありがとうございました

4

1 に答える 1

1

このようなものはどうですか?

$router->addRoute(
  'budi',
  new Zend_Controller_Router_Route_Regex(
    '(.*)/budi',
    array('controller' => 'budi', 'action' => 'index', 'page' => 1),
    array(1 => 'lang', 2 => 'page'),
    '%s/budi/page/%d'
  )
);
$router->addRoute(
  'budi1',
  new Zend_Controller_Router_Route_Regex(
    '(.*)/budi/page/(\d*)',
    array('controller' => 'budi', 'action' => 'index'),
    array(1=>'lang', 2=>'page'),
    '%s/budi/page/%d'
  )
);
于 2009-12-05T00:41:05.743 に答える