Module: Spree::BaseHelper
- Defined in:
- app/helpers/spree/base_helper.rb
Instance Method Summary collapse
- #add_product_link(text, product) ⇒ Object
-
#cart_link ⇒ Object
this should be cart_path since it returns path only didn’t wan’t to change until we know what breaks so I named new helpers differently below - WN.
- #cart_path ⇒ Object
- #link_to_cart(text = t('cart')) ⇒ Object
- #meta_data_tags ⇒ Object
- #mini_image(product) ⇒ Object
- #order_price(order, options = {}) ⇒ Object
- #product_image(product) ⇒ Object
- #remove_product_link(text, product) ⇒ Object
- #small_image(product) ⇒ Object
- #todays_short_date ⇒ Object
-
#variant_options(v, allow_back_orders = , include_style = true) ⇒ Object
human readable list of variant options.
- #yesterdays_short_date ⇒ Object
Instance Method Details
#add_product_link(text, product) ⇒ Object
43 44 45 46 47 48 49 |
# File 'app/helpers/spree/base_helper.rb', line 43 def add_product_link(text, product) link_to_remote text, {:url => {:controller => "cart", :action => "add", :id => product}}, {:title => "Add to Cart", :href => url_for( :controller => "cart", :action => "add", :id => product)} end |
#cart_link ⇒ Object
this should be cart_path since it returns path only didn’t wan’t to change until we know what breaks so I named new helpers differently below - WN
6 7 8 9 |
# File 'app/helpers/spree/base_helper.rb', line 6 def cart_link return new_order_url if session[:order_id].blank? return edit_order_url(Order.find_or_create_by_id(session[:order_id])) end |
#cart_path ⇒ Object
11 12 13 |
# File 'app/helpers/spree/base_helper.rb', line 11 def cart_path cart_link end |
#link_to_cart(text = t('cart')) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/helpers/spree/base_helper.rb', line 16 def link_to_cart(text=t('cart')) path = cart_path order = Order.find_or_create_by_id(session[:order_id]) unless session[:order_id].blank? css_class = '' unless order.nil? item_count = order.line_items.inject(0) { |kount, line_item| kount + line_item.quantity } return "" if current_page?(path) text = "#{text}: (#{item_count}) #{order_price(order)}" css_class = 'full' if item_count > 0 end link_to text, path, :class => css_class end |
#meta_data_tags ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 |
# File 'app/helpers/spree/base_helper.rb', line 100 def return unless self.respond_to?(:object) && object "".tap do || if object.respond_to?(:meta_keywords) and object..present? << tag('meta', :name => 'keywords', :content => object.) + "\n" end if object.respond_to?(:meta_description) and object..present? << tag('meta', :name => 'description', :content => object.) + "\n" end end end |
#mini_image(product) ⇒ Object
76 77 78 79 80 81 82 |
# File 'app/helpers/spree/base_helper.rb', line 76 def mini_image(product) if product.images.empty? image_tag "noimage/mini.jpg" else image_tag product.images.first..url(:mini) end end |
#order_price(order, options = {}) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/helpers/spree/base_helper.rb', line 29 def order_price(order, ={}) .assert_valid_keys(:format_as_currency, :show_vat_text, :show_price_inc_vat) .reverse_merge! :format_as_currency => true, :show_vat_text => true # overwrite show_vat_text if show_price_inc_vat is false [:show_vat_text] = Spree::Tax::Config[:show_price_inc_vat] amount = order.item_total amount += Spree::VatCalculator.calculate_tax(order) if Spree::Tax::Config[:show_price_inc_vat] .delete(:format_as_currency) ? number_to_currency(amount) : amount end |
#product_image(product) ⇒ Object
92 93 94 95 96 97 98 |
# File 'app/helpers/spree/base_helper.rb', line 92 def product_image(product) if product.images.empty? image_tag "noimage/product.jpg" else image_tag product.images.first..url(:product) end end |
#remove_product_link(text, product) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'app/helpers/spree/base_helper.rb', line 51 def remove_product_link(text, product) link_to_remote text, {:url => {:controller => "cart", :action => "remove", :id => product}}, {:title => "Remove item", :href => url_for( :controller => "cart", :action => "remove", :id => product)} end |
#small_image(product) ⇒ Object
84 85 86 87 88 89 90 |
# File 'app/helpers/spree/base_helper.rb', line 84 def small_image(product) if product.images.empty? image_tag "noimage/small.jpg" else image_tag product.images.first..url(:small) end end |
#todays_short_date ⇒ Object
60 61 62 |
# File 'app/helpers/spree/base_helper.rb', line 60 def todays_short_date utc_to_local(Time.now.utc).to_ordinalized_s(:stub) end |
#variant_options(v, allow_back_orders = , include_style = true) ⇒ Object
human readable list of variant options
70 71 72 73 74 |
# File 'app/helpers/spree/base_helper.rb', line 70 def (v, allow_back_orders = Spree::Config[:allow_backorders], include_style = true) list = v.option_values.map { |ov| "#{ov.option_type.presentation}: #{ov.presentation}" }.to_sentence({:words_connector => ", ", :two_words_connector => ", "}) list = include_style ? "<span class =\"out-of-stock\">(" + t("out_of_stock") + ") #{list}</span>" : "#{t("out_of_stock")} #{list}" unless (v.in_stock or allow_back_orders) list end |
#yesterdays_short_date ⇒ Object
64 65 66 |
# File 'app/helpers/spree/base_helper.rb', line 64 def yesterdays_short_date utc_to_local(Time.now.utc.yesterday).to_ordinalized_s(:stub) end |