EC-CUBEで特定のパスをURLに変換する方法
EC-CUBEをカスタマイズしている時に、リンクやリダイレクト等で「このパスをHTTPやHTTPSを自動で判断してURLに変換したいな~」っていうシチュエーションがありますよね。
直接文字列で指定してもいいのですが、HTTPプロトコルがHTTPSになったり、ルートパスが変わったりした場合なんかに修正が必要になってしまいます。 なにかいい方法はないかな~と探していたらありました。
便利なLC_Page_Ex::getLocation()関数
そんな時に便利な関数が LC_Page_Ex::getLocation() です。 次のようなパラメーターを与えるだけでURLに変換してくれます。
//HTTPSプロトコルのカテゴリページURLを得る $query = array('category_id'=>2); $url = LC_Page_Ex::getLocation('/products/list.php', $query, true); //リダイレクトする header('Location:' . $url);
1番目のパラメーターはパス文字列、2番目はオプションで、付加するクエリの配列、3つめもオプションで、HTTPSプロトコルの場合はtrue, 省略するか”escape”を指定するとプログラムが自動でプロトコルを判断して「http://」「https://」のいずれかを付加してくれます。
3つめのオプションパラメーターは非常に便利ですね!
お役に立てば幸いです~。
2013-01-22