2

次のようにZend_Paginatorとリンクする方法を教えてください: http:// url / controller / action?id = 47&page=2。url / controller / action / param / valueのようなパラメーターではなく、url?id=valueのようなurlのクエリに追加のパラメーターをurlに追加したいと思います。また、ページ以外の部分にビューの変数を渡す方法を教えてください。ありがとうございました。

4

2 に答える 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 に答える