ほかのサイトから本店のEC-CUBEカートをつかう。 | φ(..)メモとして残しておこう…

ほかのサイトから本店のEC-CUBEカートをつかう。

まずは、支店のサイトから本店のカートを使用するためにデータをPOST。

<form name="products" id="products" method="post" action="http:/○○/html/products/detail.php?product_id=商品コード">
<input type="hidden" name="mode" value="cart" />
<input type="hidden" name="product_id" value="商品コード" />
<p>数量:</p>
<select name="quantity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<p class="botton">
<a href="javascript:void(document.products.submit());">
<img src="../../image/cart-156-52.jpg" width="156" height="52" alt="カゴに入れる" name="cart" id="cart" />
</a> </p>
</form>


こんな感じで、本店の商品詳細ページにカートのデータをPOSTする。

で、
/data/class/pages/products/LC_Page\/Products_Detail.php
のカート処理の最後で

//HTTP_REFEREをセッション変数に入れておく
//(後々、どの支店のカートからの購入か判断するため)
$_SESSION['from_url'] = $_SERVER['HTTP_REFERER'];

print <<< EOF
<script>
var url = document.referrer;

if( ( n = url.indexOf("本店サーバー(EXAMPLE.JP)") != -1 ) ){

//本店からなら、mediaboxを開く
parent.Mediabox.open('http://○○/html/cart/index.php', '<a href="" onClick="function.close()"></a>', 'mediabox[external]');

}

if( ( n = url.indexOf("本店サーバー(EXAMPLE.JP)") == -1 ) ){

//そうでなければ、支店用のカートページへ移動
parent.location.href='http://EXAMPLE.JP/cart.html';
}
</script>
EOF;



ってな具合でカート処理を分ける。
別に、分けなくてもいいんだろうけど、支店のデザインが本店と違っていたら、カートも違うデザインにしたいので…。