Magento のチェックアウト プロセスに関して、わずかな問題が発生しました。現在、list.phtml ファイルを使用して注文をカートに追加しています。製品を変更すると、カートが空になり、新しく選択した製品が追加されます。私はこの機能を介してこれを行います:
これは削除用のフォームです(フォームキーが入っています)
<form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="POST" name="emptyTheCart">
<?php echo $this->getBlockHtml('formkey'); ?>
<button type="submit" name="update_cart_action" value="empty_cart" style="display:none" title="<?php echo $this->__('Empty Cart'); ?>" id="empty_cart_button"></button>
</form>
$('.item').click(function() {
$(this).find('input:radio')[0].checked = true;
var formurl = $(this).find('input:radio').val();
var datafile=$("#product_addtocart_form").serialize();
var dataExecURL = "<?php echo $this->getUrl('checkout/cart/updatePost') ?>";
var datafiles=$("#emptyTheCart").serialize();
datafiles = datafiles + "&update_cart_action=empty_cart";
$.ajax({
type : 'POST',
data : datafiles,
url : dataExecURL,
success: function()
{
$.ajax({
type : 'POST',
data : datafile,
url : formurl
});
}
});
});
この部分は非常にうまく機能します。問題は、カテゴリ ページで、カスタム レイアウトの更新に次のカスタム デザインがあることです。
<block type="cms/block" name="opdracht_text" before="-">
<action method="setBlockId"><block_id>opdracht_text</block_id></action>
</block>
<block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" template="catalog/product/list.phtml" >
<block type="cms/block" name=" shipping_method" >
<action method="setBlockId"><block_id> shipping_method </block_id></action>
</block>
<block type="checkout/onepage_shipping_method_available" template="checkout/onepage/shipping_method/available.phtml"/>
<block type="cms/block" name="billing" >
<action method="setBlockId"><block_id>billing</block_id></action>
</block>
<block type="checkout/onepage_billing" name="checkout.onepage.billing" as="billing" template="checkout/onepage/billing.phtml"/>
<block type="cms/block" name="opdracht-delivery" >
<action method="setBlockId"><block_id>opdracht-delivery</block_id></action>
</block>
<block type="cms/block" name="payment_method" >
<action method="setBlockId"><block_id> payment_method </block_id></action>
</block>
<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
<block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/info.phtml">
<action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
</block>
<block type="core/template" name="checkout.onepage.payment.additional" as="additional" />
<block type="core/template" name="checkout.onepage.payment.methods_additional" as="methods_additional" />
</block>
</reference>
ワンページ チェックアウト機能として、magento の拡張機能に追加しました
http://www.magentocommerce.com/magento-connect/one-page-checkout.html
store_url/chekout/cart に移動すると、カートと配送方法が明確に表示され、そこで価格が更新されます。その後、次のチェックアウト ページに進みます。
store_url/onepage/
請求書 + 配送 + 支払い方法がある場所
テンプレート (デフォルトの rwd テンプレート) のレイアウト フォルダーの checkout.xml ファイルからブロックを取得し、それらをカテゴリ ページに追加しました。
私が抱えている主な問題は、ページを開いたときに、製品を選択してページを更新するまで配送方法を表示できないという事実です. 都道府県フィールドはまったく表示されず、支払い方法も表示されません。
私が現在達成しようとしているのは、チェックアウトフォームが次のフローのように製品ページにあることです:
商品選択 -> 配送方法 -> 請求方法 -> 支払方法
これらは、現在 1 つのページ (製品表示ページ/カテゴリ ページ) に入れようとしている手順です。