Sha256: 2a34c79ba24bc23df6ad13b8e022ca22d65926ef6c08243f9cca6ab1500447ed

Contents?: true

Size: 1.04 KB

Versions: 4

Compression:

Stored size: 1.04 KB

Contents

module Spree
  module ProductsHelper
    # returns the formatted change in price (from the master price) for the specified variant (or simply return
    # the variant price if no master price was supplied)
    def variant_price_diff(variant)
      diff = variant.price - variant.product.price
      return nil if diff == 0
      if diff > 0
        "(#{t(:add)}: #{Spree::Money.new(diff.abs)})"
      else
        "(#{t(:subtract)}: #{Spree::Money.new(diff.abs)})"
      end
    end

    # converts line breaks in product description into <p> tags (for html display purposes)
    def product_description(product)
      raw(product.description.gsub(/(.*?)\r?\n\r?\n/m, '<p>\1</p>'))
    end

    def line_item_description(variant)
      description = variant.product.description
      if description.present?
        truncate(strip_tags(description.gsub('&nbsp;', ' ')), :length => 100)
      else
        t(:product_has_no_description)
      end
    end

    def get_taxonomies
      @taxonomies ||= Spree::Taxonomy.includes(:root => :children)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spree_core-1.2.4 app/helpers/spree/products_helper.rb
spree_core-1.2.3 app/helpers/spree/products_helper.rb
spree_core-1.2.2 app/helpers/spree/products_helper.rb
spree_core-1.2.0 app/helpers/spree/products_helper.rb