商品詳細ページのカスタムスクリプトで商品情報を取得する
2014.06.10
以前、公開側の方のページでカスタムスクリプトという機能を利用すると、ページの閲覧制限とかつけられるという内容を記載しました。
今回はもう一段踏み込んで、商品詳細ページで商品毎にふるまいを変えるという方法を紹介します。
商品毎に処理を変えるとするならば、現在開いている商品IDもしくは商品コード(エイリアス)を取得する必要があります。
たとえばこの商品はログインをしていなければ表示しないとあった場合に、
今開いている商品の情報を取得しなければなりません。
今ある情報は、URLが
http://wwwsample.com/shop/item/detail/movie-001.html
だとして、末尾が商品コード(エイリアス)になっています。
文字列操作で取得で末尾の値を取得することができますが、
もっと簡単な方法として、カスタムスクリプト内で、
$alias = $args[0];
とするだけで、末尾の値を取得することができます。
これを踏まえた上でカスタムスクリプトに書くサンプルコード
$alias = $args[0]; $itemDao = SOY2DAOFactory::create("shop.SOYShop_ItemDAO"); try{ $item = $itemDao->getByAlias($alias); }catch(Exception $e){ $item = new SOYShop_Item(); }
これで表示してる商品情報を取得できました。
あとは行いたい処理に合わせて適宜使用すると良いです。