3 # カートを渡すと、カート内の商品への加算用リンクを生成します。
4 def incriment_tag(cart)
5 uri = {:controller => 'cart',
7 :id => cart.product_style_id}
8 str = request.mobile? ? "増やす" : " + "
9 if request.mobile.respond_to?('smartphone?')
10 link_to str, url_for(uri), {:class => 'rosy small_button'}
12 link_to str, url_for(uri), {:class => 'product_incriment'}
16 # カートを渡すと、カート内の商品への減算用リンクを生成します。
17 def decriment_tag(cart)
18 uri = {:controller => 'cart',
20 :id => cart.product_style_id}
21 str = request.mobile? ? "減らす" : " - "
22 if request.mobile.respond_to?('smartphone?')
23 link_to str, url_for(uri), {:class => 'rosy small_button'}
25 link_to str, url_for(uri), {:class => 'product_decriment'}
29 # 非会員用お届け先追加のJavaScript
30 def optional_address_script
33 :style => {:backgroundColor => '#ffffff'}
38 :style => {:backgroundColor => '#f0f0f0'}
41 function fnCheckOptionalAddress() {
42 if(!$$('.optional_address').first().disabled) {
43 fnChangeOptionalAddress('#dddddd');
45 fnChangeOptionalAddress('');
49 function fnChangeOptionalAddress(color) {
51 #{update_page do |page|
52 page.select('.optional_address').each('disabled') do |element|
53 element.disabled = enable_setting[:parametor]
55 page.select('.optional_address').each('disabled') do |element|
56 element.setStyle enable_setting[:style]
62 #{update_page do |page|
63 page.select('.optional_address').each('disabled') do |element|
64 element.disabled = disable_setting[:parametor]
66 page.select('.optional_address').each('disabled') do |element|
67 element.setStyle disable_setting[:style]
82 :address => DeliveryAddress[必須]
85 引数として渡された、DeliveryAddressインスタンスが、会員登録情報から生成されたものであれば
86 checked="checked"かつ、value="0"となるラジオボタンタグを生成する。
87 追加お届け先の場合は、checked="checked"とはならず、valueにはお届け先IDが格納された
91 Customer#basic_address
94 def address_button(address)
95 parametors = ['address_select']
96 parametors << (address.frozen? ? '0' : address.id.to_s)
97 parametors << address.frozen?
98 radio_button_tag(parametors[0], parametors[1], parametors[2], :class => "radio_btn")
105 :address => DeliveryAddress[必須]
108 引数として渡された、DeliveryAddressインスタンスが、会員登録情報から生成されたものであれば、
109 "会員登録住所"と返し、そうでない場合(追加お届け先である場合)は、"追加登録住所"と返す
112 Customer#basic_address
115 def address_type_to_s(address)
116 h(address.frozen? ? "会員登録住所" : "追加登録住所")
123 :address => DeliveryAddress[必須]
126 引数として渡された、DeliveryAddressの都道府県名、市区町村、詳細住所を結合して返す
129 def address_detail(address)
130 zip = '〒'+address.zipcode01 + '-' + address.zipcode02
131 addr = [address.prefecture.name, address.address_city, address.address_detail].join(' ')
132 add_name = address.family_name + ' ' + address.first_name
145 :address => DeliveryAddress[必須]
148 引数として渡された、DelivaryAddressインスタンスが、会員登録住所でない場合、
149 お届け先内容変更ポップアップを開くリンクを生成する。
152 Customer#basic_address
155 def link_to_edit_address(address, custom_class = 'delivery_edit')
156 address.frozen? and return nil
157 link_to('変更', {:controller => :accounts, :action => :delivery_edit_popup, :id => address.id}, :class => custom_class)
164 :address => DeliveryAddress[必須]
167 引数として渡された、DelivaryAddressインスタンスが、会員登録住所でない場合、
171 Customer#basic_address
174 def link_to_delete_address(address, custom_class = nil)
177 :controller => 'accounts',
178 :action => 'delivery_destroy',
180 :backurl => url_for({:controller => 'cart', :action => 'shipping'})
182 {:confirm => "一度削除したデータは元には戻せません。\n削除してもよろしいですか?", :class => custom_class}
183 ) unless address.frozen?
186 def link_to_continue_shopping
187 if session[:cart_last_product_id]
188 link_to 'お買い物を続ける', {:controller => 'product', :action => 'show', :id => session[:cart_last_product_id]}
190 link_to 'お買い物を続ける', {:controller => 'portal', :action => 'show'}