客户将通过其Lemonstand商店销售的所有产品免费送货,因此他们希望从结帐中删除送货方法步骤,因为这对用户来说是不必要的额外点击。而且,由于每件商品都是免费送货,他们不想在商店的每件商品上设置独特的“免费送货”选项,这也很费力。
最初,我只是从我的结帐时删除unset()
shipping_method
值; progress.php 部分,如下所示:
<?php
$steps = array(
'billing_info' => 'Billing info',
'shipping_info' => 'Shipping info',
//'shipping_method' => 'Shipping method',
'payment_method' => 'Payment method',
'review' => 'Order review'
);
unset($steps['shipping_method']);
?>
(由于Lemonstand倾向于根据结帐流程中的产品类型覆盖这些值,因此未设置)
但是,这会导致结帐时出错:“请选择送货方式” - 这是有道理的,因为我们没有将其设置为任何内容。有关如何跳过此步骤的任何想法和设置默认送货方式?
答案 0 :(得分:1)
事实证明,这可以通过单行PHP实现,我将其添加到 checkout; payment_method.php 部分,包括从结帐中删除“运输方法”步骤的上述步骤
首先,我创建了一个表费率运费选项,包括国家/地区,州和&amp;城市全部设置为*(通配符),成本为 0 。然后我给了它一个default
的API代码。
在结帐; payment_method.php 部分,我添加了以下行:
Shop_CheckoutData::set_shipping_method(Shop_ShippingOption::find_by_api_code('default')->id);
这样,从面向客户的结帐流程中移除了“运输方法”步骤,但在结账时仍会自动选择并计算运费。