0

私はコードイグナイタープロジェクトを持っています。URLの変更にrouter.phpを使用して製品ページを表示しています。ここで私はいくつかの問題に直面しています。ルーターコードはこちら

Url                                 router.php code   
www.sitename.com/products/page/2 -> $route['products/page/(:num)'] = "products";
www.sitename.com/products/product-name -> $route['products/(:any)'] = "products/detail/$1";
www.sitename.com/products/product-categories -> $route['products/(:any)/(:num)'] = "products/selbygrp/$2";

上記のコードは、特定の製品詳細ビューで正常に機能します。しかし、論理的には問題があります

問題: ページネーション リンクに移動すると、ルーターは 2 番目のルート コードに移動します。また、特定の製品グループ カテゴリ リストを選択すると、2 番目のルート コードに移動します。私が与えたものは何でも2番目のルートラインに行きます。

私はこの理由を知っています。if products/ なんといっても2番目のルートになります。しかし、私はこのような必要はありません。私が欲しい次のURL

www.sitename.com/products/productname -> for product detailview
www.sitename.com/products/product-categories -> list product categories wise 
www.sitename.com/products/page/number -> show product list with pagenation 

私はこれで立ち往生しています.htaccessでこれを行うことができる場合は、事前にガイダンスをお願いします.

4

3 に答える 3

1

問題を解決するには、移動するだけです

$route['products/(:any)/(:num)'] = "products/selbygrp/$2";

その上

$route['products/(:any)'] = "products/detail/$1";
于 2013-06-18T15:29:06.413 に答える
0

皆様のおかげで良い回答ができました。最後に私は答えを見つけました。URLが製品カテゴリに移動すると、答えはここにあります。そのためのコントローラーを作成し、このようにルーティングしました

url -> www.sitename.com/productgroup/groupname

route -> $route['productgroup/(:any)'] = "productgroup/selgrp/$1";

上記のルートは、製品カテゴリにヒットしたときに製品グループ コントローラーにリダイレクトされます。ページネーションの問題も解決しました。

繰り返しますが、良い答えをくれたすべての人に感謝します。

于 2013-06-19T07:11:32.887 に答える
0

私の理解が正しければ、ページネーションの 2 ページ目以降でリンクが切れます。この/2またはURLに他の数字を貼り付ける場合。

これは私がその問題を解決しなければならないことです.私は昨夜同じことをしていました.

ページネーションのベース URL で、新しい URL に切り替えました

$config["base_url"] = base_url()."/products;

次に、ルートに別のルートを追加して、ページネーションに対応しました。

$route['products/(:any)'] = "products/page/$1";
于 2013-06-18T16:14:49.397 に答える