1

客户通过他们的Lemonstand出售的所有产品将始终免费送货商店销售的所有产品免费送货,因此他们希望从结帐中删除“送货方式”步骤,因为这对用户来说是不必要的额外点击。而且由于无论如何它对每件商品都免费送货,他们不想为商店中的每件产品设置一个独特的“免费送货”选项,这也很费力。

最初我只是从我的checkout;progress.php部分中删除unset()了值,如下所示:shipping_method

<?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 倾向于根据结帐过程中的产品类型覆盖这些值)

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

4

1 回答 1

1

事实证明,这可以通过我添加到checkout;payment_method.php部分的一行 PHP 来实现,包括上述从结帐中删除 Shipping Method 步骤的步骤。

首先,我创建了一个表格运费选项,国家、州和城市都设置为 *(通配符),成本为0。然后我给了它一个 API 代码default

checkout;payment_method.php部分,我添加了以下行:

Shop_CheckoutData::set_shipping_method(Shop_ShippingOption::find_by_api_code('default')->id);

这样,从面向客户的结账流程中删除了运输方式步骤,但在结账过程中仍会自动选择和计算运输。

于 2013-09-25T16:20:29.123 回答