1

それで、友人が始めたプロジェクトを引き継ぎましたが、完了する時間がありませんでした。CodeIgniter で構築されたオンライン e コマース システムです。問題は、すべての製品の URL がsite.com/store/viewProduct?id=3ID を識別子として設定されていることです。?これでIDはそのままでいいのですが、を削除して商品名も入れるようにしたいと思います。したがって、最終的な URL は次のsite.com/store/viewProduct/3/cake-cutterようになります。

コントローラー関数もすべて参照し$_GET['id'];ます。それも変更する必要があることはわかっていますが、何に変更しますか?

上記のようにURLを変更して$this->uri->segment(1,0);から、製品IDを取得しようとしましたが、エラーが発生しました。

CodeIgniters 組み込みurl_title();関数を使用して製品名を生成しますが、これらの URL を変更する最も簡単な方法は何ですか?

4

1 に答える 1

3

最善の方法は、コントローラーが ID を取得する方法を変更することです。4 番目の URI セグメントは不要であり、それは SEO/使いやすさの目的のためだけであると想定していますが、必要な場合でも、この関数の設定方法で取得できます。

class Store extends CI_Controller {

    //site.com/store/viewProduct/3/cake-cutter
    public function viewProduct($id, $name)
    {
        //do stuff and now you have access to $id and $name
        //$id == 3
        //$name == 'cake-cutter'
    }

}
于 2013-08-15T22:59:51.377 に答える