Lemonstand:结账时跳过运送方式

时间:2013-09-25 16:20:29

标签: php e-commerce

客户将通过其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倾向于根据结帐流程中的产品类型覆盖这些值,因此未设置)

但是,这会导致结帐时出错:“请选择送货方式” - 这是有道理的,因为我们没有将其设置为任何内容。有关如何跳过此步骤的任何想法设置默认送货方式?

1 个答案:

答案 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);

这样,从面向客户的结帐流程中移除了“运输方法”步骤,但在结账时仍会自动选择并计算运费。