1

カテゴリを切り替えるためのURLを作成する必要があります。カテゴリを切り替えると、ページが1番目にリセットされ、猫の名前が変更されますが、残りのURLパラメータは保持されます。

URLの例:

http://example.com/cat/fruits/page/3/q/testquery/s/date/t/kcal/mine/26/maxe/844/minb/9/mint/4/maxt/93/minw/7/minbl/6/maxbl/96

URLにはさまざまなパラメータを含めることができますが、カテゴリ名とページを常に最初にする必要があります。ページのないカテゴリも機能し、最初のページを表示する必要があります。

現在、2つのルートを定義し、名前付きルートでZendのURLヘルパーを使用していますが、パラメーターがリセットされ、最終結果として/ cat / cat_name / page /1urlがあります。

$category_url = $view->url(array('category'=>$list_item['url'],'page'=>1),'category',FALSE)


resources.router.routes.category_main.route = "/cat/:category/*"
resources.router.routes.category_main.defaults.module = "ilewazy"
resources.router.routes.category_main.defaults.controller = "index"
resources.router.routes.category_main.defaults.action = "results"
resources.router.routes.category_main.defaults.category = 
resources.router.routes.category_main.defaults.page = 1

resources.router.routes.category.route = "/cat/:category/page/:page/*"
resources.router.routes.category.defaults.module = "ilewazy"
resources.router.routes.category.defaults.controller = "index"
resources.router.routes.category.defaults.action = "results"
resources.router.routes.category.defaults.category = 
resources.router.routes.category.defaults.page = 1

この場合、URLをアセンブルするためのカスタムメソッドを作成する必要がありますか?

4

2 に答える 2

0

解決策は非常に簡単です。現在のすべてのリクエスト パラメータを URL ヘルパーに渡すだけです (オプションで、それらの一部、私の場合はページとカテゴリを上書き/追加します)。最後の変数は、ルートのリセットを防ぐために FALSE に設定されます。

$view->url(
        array_merge(
                $params,
                array('category' => $list_item['url'],
                'page' => 1)
                ),
                'category_main', 
             FALSE
            );
于 2013-01-15T00:27:27.503 に答える
0

私が試すこと:

  1. $urlOptions にモジュール、コントローラー、およびアクション パラメーターを追加します (ビュー ヘルパーに渡す最初の配列です)。
  2. 「カテゴリ」ルート名の代わりにnullを試して、それが何をするかを見てください。
  3. この行「resources.router.routes.category.defaults.category =」を削除してみてください

使用している zf のバージョンを指定してください。

于 2012-09-19T07:26:24.447 に答える