0

使用 Spree 2.0.5,我试图为小于 13 盎司的包裹提供 USPS 头等包裹服务,并为 >= 13 盎司的包裹提供优先邮件。

我发现了这个可能过时的解决方案http://madebydna.com/all/code/2010/05/26/setting-up-usps-shipping-with-spree.html,当逐字粘贴时,它确实限制了第一类包裹方法的可用性。但是,进行看似明显的调整不会影响优先邮件。

下面的代码显然甚至没有被调用。原版可以吗?方法不会被覆盖,并且无论重量如何,都可以使用优先邮件运输方法。

#app/models/spree/calculator/hideprioritymail.rb
class Calculator::Usps::PriorityMail < Calculator::Usps::Base
  def self.description
    "USPS Priority Mail"
  end

  def available?(order)
    multiplier = Spree::ActiveShipping::Config[:unit_multiplier]
    weight = order.line_items.inject(0) do |weight, line_item|
      weight + (line_item.variant.weight ? (line_item.quantity * line_item.variant.weight * multiplier) : 0)
    end
    weight >= 13 ? false : true
  end
end
4

0 回答 0