【问题标题】:Onepage Checkout: Remove Shipping information and Shipping methodOnepage Checkout:删除运输信息和运输方式
【发布时间】:2013-11-23 08:04:42
【问题描述】:

我想从 magento 的单页结帐中删除运输信息和运输方法步骤。我不想接触核心 magento 文件。我知道可以通过创建模块来完成。我需要这方面的帮助。

【问题讨论】:

    标签: magento checkout shipping


    【解决方案1】:

    您必须像虚拟产品一样重写 Mage_Checkout_OnepageController 并覆盖 Mage 文件夹。 为此,请使用关键字“isVirtual”查看搜索 例如,当您在 Onepagecontroller 中看到 saveBilling 时,在保存订单后,控制器会测试是否为虚拟报价,如果是,则忽略运输和运输方式。 其他示例.. 在块部分中,onestep 要求 onestep 将显示的步骤。并且在每个块中都有一个名为 isShow() 的方法,在虚拟报价和运输方法的情况下设置为 false。 要重写控制器,here。 致override

    【讨论】:

    • 对,但我认为最好在全局范围内重写 isVirtual 标志,因为在某些地方你可以找到类似 $quoteItem->getProduct()->isVirtual() 的东西。所以我认为让所有产品虚拟化的最佳选择是在 catalog_product_load_after 事件上设置一个观察者,该事件将执行 $product->setData('is_virtual', true)。我认为它应该有效。
    【解决方案2】:

    如果您使用虚拟产品,这两个步骤会自动消失。您可能就是这种情况,为您的商店使用虚拟产品类型。

    如果您将至少一种应实际运输的产品添加到您的运输购物车中,则会自动显示运输步骤。但如果您只在商店中使用虚拟和可下载产品,您的客户将永远看不到这些步骤。

    这可能对您有用: http://go.magento.com/support/kb/category/name/product-types/ - 所有 Magento 版本的标准产品类型都相同

    有可能将您的产品转换为虚拟产品的解决方案 - http://www.magentocommerce.com/boards/viewthread/57089/ 但对于大型数据库来说似乎不是一个好的解决方案。无论如何,先尝试一个虚拟产品。

    【讨论】:

    • 您使用哪种付款方式?尝试检查它的配置,也许它是一些基本选项,例如“用于虚拟产品”
    • 我创建了一个虚拟产品,正如预期的那样,没有显示发货信息和发货方式。但是,付款信息下没有显示付款方式,因此我无法继续结帐。对此有什么想法吗?
    • 我添加了快速结帐,它将从结帐过程中删除帐单信息。看起来这会导致付款方式不显示。对于开发目的,我有“支票/汇票”和“信用卡(已保存)”付款方式。
    • 我的意图是删除“帐单信息、运输信息和运输方式”。安装了快速结帐以删除帐单信息。将产品创建为虚拟产品以删除运输信息和运输。执行上述 2 后,我在付款信息下看不到付款方式,这是一个问题。当我撤消上述两个步骤中的任何一个时,将显示付款方式。现在查看代码流以了解问题出在哪里。有什么帮助吗?
    猜你喜欢
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多