次のようにZend_Paginatorとリンクする方法を教えてください: http:// url / controller / action?id = 47&page=2。url / controller / action / param / valueのようなパラメーターではなく、url?id=valueのようなurlのクエリに追加のパラメーターをurlに追加したいと思います。また、ページ以外の部分にビューの変数を渡す方法を教えてください。ありがとうございました。
2747 次
2 に答える
1
それを処理するために作成されたデフォルトのビューヘルパーURLがあります。
次のURLを生成できます。
echo $this->url(array('controller' => 'controllerName',
'action' => 'actionName',
'param1' => 'param1',
'param2' => 'param2));
一部のパラメータを省略すると、ヘルパーはクエリURLに含まれていたパラメータを再利用します
したがって、Zend_Paginatorを使用すると、次のようになります。
$pages = $this->paginator->getPages();
// previous
echo $this->url(array('page' => ($pages->current -1)));
// current
echo $this->url(array('page' => ($pages->current)));
// next
echo $this->url(array('page' => ($pages->current +1)));
** 編集 **
私の最初のコメントを反映するための例
echo $this->url(array('controller' => 'controllerName', 'action' => 'actionName')) . '?user=' . $id . '&page=' . $pageNumber
于 2011-01-14T18:28:11.190 に答える
0
したがって、この投稿を正しく理解している場合...これは、Paginatorの結果セット内の後続のページロードごとに$_GETまたは$_POST値を永続化するためのソリューションですか?結果を返す検索関数がありますが、結果をページ分割しようとすると、後続のページがその$ _POST変数の設定を解除し、ワイルドカード検索がになるため、すべての結果を返し始めますSELECT * FROM table WHERE col LIKE '%%'
。私が欲しいものではありません
編集:私はキーワードをzend_cache()にロードし、URIを介してキャッシュのID(キーワードのmd5()値)を渡すことにより、ページのロード時にそれらを呼び出します。興味のある方はコードを投稿します
于 2011-06-09T19:02:33.803 に答える