私のウェブサイトはプライベート e コマース システムを使用しています。残念ながら、サポート チームは非常に役に立ちますが、私が必要とするコードなどの「カスタム コード」については特にサポートしていません。
「スプラッシュ」ページ (ユーザーが注文を完了する前にポップアップ表示される) を構成しようとしています。このページでは、T シャツを半額で購入する機会をユーザーに提供し、「カートに追加」して追加することができます。スプラッシュ ページ内からカートに移動します。
標準の製品ページからコードをコピーしようとしましたが、残念ながらボタンが正常に機能せず、代わりに「#」にリンクするだけです (以下のコードで確認できます)。
<form action="includes/cart/add_to_cart.inc.php" method="get" name="addcartform" id="addcartform" onsubmit="return false;">
<!-- Important hidden inputs -->
<input type="hidden" id="js" name="js" value="false" />
<input type="hidden" id="product_id" name="product_id" value="{product:id}" />
<a id="add_to_cart" style="display:none;" href="#" onclick="{product:add_to_cart_js}" class="generated_button" title="Add To Cart" >
<img src="images/icons/cart_add.png" align="absmiddle" />
<span> Add To Cart </span> </a>
<noscript>
<!-- non javascript -->
<input class="generated_button" type="submit" value="Add To Cart" name="submit" id="cart_submit" />
</noscript>
コードを入れた後、リンクの「表示」を「インラインブロック」に変更し(表示されるように)、ユーザーにカートに追加してもらいたい製品のIDをここに入れてみました:
id="product_id" name="product_id" value="{product:id}"
残念ながら、これはどれも機能していません。必要なすべてのファイルに完全に (または簡単に) アクセスできないため、この問題を解決するための助けをいただければ幸いです!
前もって感謝します、ダン
更新:当社の e コマース システムのサポート チームから、このコードが送られてきましたが、使い方がよくわかりません。
JavaScript を介してさらに制御したい場合は、JavaScript で利用可能にするコアのカート オブジェクトを使用できます。(Private eCommerce System) 名前空間を介してアクセスできます。実際、(Private eCommerce System) サイトでコンソールを開いて (Private > eCommerce System) と入力し、Enter キーを押すと、どの部分のオブジェクトが返されますか?これまでのところ、Javascript で利用できるようにしたコア > システム (これも時間の経過とともに増加します)。(Private eCommerce System).Cart オブジェクトには、ここで使用できるサブ addItem() メソッド/関数があります。
商品 ID を渡してカートに追加できます (例: ID #52 の商品を追加する) Cart.addItem(52); または、次のようにこれらの完全なオプションを渡すことができます。
Cart.addItem({
productId: 52,
qty: 1,
options: {},
wishlistId: 0,
extraData: "Some detail i want to show to the user"
}, function () {
console.log('This is the callback for when its complete!');
});
したがって、ボタンまたはリンクを追加する場合、jQuery を使用して、そのボタンのクリック時にそのコードを実行するように設定できます。
jQuery(function ($) {
$('.some-button').on('click', function () {
Cart.addItem(52);
return false;
});
});