comable-frontend-fashionable 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.rdoc +28 -0
- data/Rakefile +4 -0
- data/app/assets/images/10822071_04_75_JP.gif +0 -0
- data/app/assets/images/banner_QR.gif +0 -0
- data/app/assets/images/banner_fb.gif +0 -0
- data/app/assets/images/banner_member.gif +0 -0
- data/app/assets/images/banner_mm.gif +0 -0
- data/app/assets/images/banner_specialprice.jpg +0 -0
- data/app/assets/images/banner_staffsnapblog.jpg +0 -0
- data/app/assets/images/banner_tw.gif +0 -0
- data/app/assets/images/bt_delete.png +0 -0
- data/app/assets/images/bt_icon.png +0 -0
- data/app/assets/images/bt_login.png +0 -0
- data/app/assets/images/bt_member.png +0 -0
- data/app/assets/images/cart.png +0 -0
- data/app/assets/images/forget_icon.png +0 -0
- data/app/assets/images/header_logo.gif +0 -0
- data/app/assets/images/icon.png +0 -0
- data/app/assets/images/line_bg.gif +0 -0
- data/app/assets/images/logo.gif +0 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/images/menu_arrow_down.png +0 -0
- data/app/assets/images/menu_arrow_up.png +0 -0
- data/app/assets/images/pagetop.gif +0 -0
- data/app/assets/images/ranking_01.jpg +0 -0
- data/app/assets/images/ranking_icon01.png +0 -0
- data/app/assets/images/ranking_icon02.png +0 -0
- data/app/assets/images/ranking_icon03.png +0 -0
- data/app/assets/images/search.png +0 -0
- data/app/assets/images/shoes_02.jpg +0 -0
- data/app/assets/images/shoes_04.jpg +0 -0
- data/app/assets/images/shoes_05.jpg +0 -0
- data/app/assets/images/shoppingcart.png +0 -0
- data/app/assets/images/special01.jpg +0 -0
- data/app/assets/images/special02.jpg +0 -0
- data/app/assets/images/special03.jpg +0 -0
- data/app/assets/images/step_01.gif +0 -0
- data/app/assets/images/step_01.png +0 -0
- data/app/assets/images/step_02.gif +0 -0
- data/app/assets/images/step_02.png +0 -0
- data/app/assets/images/step_03.gif +0 -0
- data/app/assets/images/step_03.png +0 -0
- data/app/assets/images/step_04.gif +0 -0
- data/app/assets/images/step_04.png +0 -0
- data/app/assets/images/top.jpg +0 -0
- data/app/assets/images/tops_01.jpg +0 -0
- data/app/assets/images/tops_02.jpg +0 -0
- data/app/assets/images/tops_04.jpg +0 -0
- data/app/assets/javascripts/comable/application.js +15 -0
- data/app/assets/javascripts/comable/base.js.coffee +24 -0
- data/app/assets/javascripts/comable/products.js.coffee +32 -0
- data/app/assets/stylesheets/comable/application.css +14 -0
- data/app/assets/stylesheets/comable/carts.scss +339 -0
- data/app/assets/stylesheets/comable/common.scss +284 -0
- data/app/assets/stylesheets/comable/customers.scss +255 -0
- data/app/assets/stylesheets/comable/detail.css +225 -0
- data/app/assets/stylesheets/comable/footer-common.css +121 -0
- data/app/assets/stylesheets/comable/home.css +1 -0
- data/app/assets/stylesheets/comable/index.css +168 -0
- data/app/assets/stylesheets/comable/orders.scss +341 -0
- data/app/assets/stylesheets/comable/passwords.scss +205 -0
- data/app/assets/stylesheets/comable/products.scss +787 -0
- data/app/assets/stylesheets/comable/registrations.scss +278 -0
- data/app/assets/stylesheets/comable/sessions.scss +287 -0
- data/app/assets/stylesheets/comable/top.scss +262 -0
- data/app/assets/stylesheets/comable/users.scss +255 -0
- data/app/controllers/comable/application_controller.rb +23 -0
- data/app/decorators/comable/product_decorator.rb +26 -0
- data/app/decorators/comable/products_controller_decorator.rb +18 -0
- data/app/views/comable/carts/show.html.slim +53 -0
- data/app/views/comable/home/show.html.slim +50 -0
- data/app/views/comable/orders/confirm.slim +82 -0
- data/app/views/comable/orders/create.slim +17 -0
- data/app/views/comable/orders/delivery.slim +52 -0
- data/app/views/comable/orders/orderer.slim +72 -0
- data/app/views/comable/orders/payment.slim +60 -0
- data/app/views/comable/orders/shipment.slim +60 -0
- data/app/views/comable/orders/signin.slim +89 -0
- data/app/views/comable/products/index.html.slim +60 -0
- data/app/views/comable/products/show.html.slim +63 -0
- data/app/views/comable/shared/_address.slim +24 -0
- data/app/views/comable/shared/_address_form.slim +60 -0
- data/app/views/comable/shared/_footer.slim +17 -0
- data/app/views/comable/shared/_header.slim +30 -0
- data/app/views/comable/shared/_sidebar.slim +20 -0
- data/app/views/comable/users/_address.slim +14 -0
- data/app/views/comable/users/addresses.slim +58 -0
- data/app/views/comable/users/show.slim +35 -0
- data/app/views/devise/passwords/edit.slim +12 -0
- data/app/views/devise/passwords/new.slim +20 -0
- data/app/views/devise/registrations/edit.html.slim +45 -0
- data/app/views/devise/registrations/new.html.slim +30 -0
- data/app/views/devise/sessions/new.slim +32 -0
- data/app/views/errors/error_404.slim +6 -0
- data/app/views/errors/error_500.slim +6 -0
- data/app/views/layouts/comable/application.slim +51 -0
- data/app/views/layouts/comable/error.slim +42 -0
- data/config/initializers/assets.rb +2 -0
- data/config/locales/fashionable_en.yml +11 -0
- data/config/locales/fashionable_ja.yml +11 -0
- data/lib/comable/frontend/fashionable/engine.rb +14 -0
- data/lib/comable/frontend/fashionable.rb +7 -0
- metadata +233 -0
@@ -0,0 +1,82 @@
|
|
1
|
+
#wrap
|
2
|
+
h2
|
3
|
+
= @order.class.human_state_name(:confirm)
|
4
|
+
hr.line-bg
|
5
|
+
.step
|
6
|
+
= image_tag("step_03.png")
|
7
|
+
table.cart
|
8
|
+
tr
|
9
|
+
th 商品画像
|
10
|
+
th 品番・品名・詳細
|
11
|
+
th 数量
|
12
|
+
th 単価(税込)
|
13
|
+
th 小計
|
14
|
+
th 削除
|
15
|
+
- @order.order_items.each do |order_item|
|
16
|
+
- stock = order_item.stock
|
17
|
+
- product = stock.product
|
18
|
+
tr
|
19
|
+
td.center
|
20
|
+
= link_to image_tag(product.image_url, width: '100'), comable.product_path(product)
|
21
|
+
td
|
22
|
+
.code
|
23
|
+
= product.code
|
24
|
+
.name
|
25
|
+
= stock.name_with_sku
|
26
|
+
.caption
|
27
|
+
= product.caption
|
28
|
+
- if order_item.unstocked?
|
29
|
+
.error.soldout = Comable.t('carts.soldout')
|
30
|
+
td.center
|
31
|
+
= order_item.quantity
|
32
|
+
td.right
|
33
|
+
= number_to_currency product.price
|
34
|
+
td.right
|
35
|
+
= number_to_currency product.price*order_item.quantity
|
36
|
+
td.center
|
37
|
+
= link_to image_tag("bt_delete.png"), comable.cart_path(stock_id: stock.id), method: :delete
|
38
|
+
tr
|
39
|
+
td 合計
|
40
|
+
td.right colspan="5"
|
41
|
+
= number_to_currency @order.current_item_total_price
|
42
|
+
tr
|
43
|
+
td 送料
|
44
|
+
td.right colspan="5"
|
45
|
+
= number_to_currency @order.current_shipment_fee
|
46
|
+
tr
|
47
|
+
td 総額
|
48
|
+
td.right colspan="5"
|
49
|
+
= number_to_currency @order.current_total_price
|
50
|
+
|
51
|
+
|
52
|
+
p.title 注文者情報
|
53
|
+
.box
|
54
|
+
table.nonmember-ordre
|
55
|
+
tr
|
56
|
+
= render 'comable/shared/address', address: @order.ship_address
|
57
|
+
|
58
|
+
tr
|
59
|
+
th メールアドレス
|
60
|
+
td
|
61
|
+
.comable-email
|
62
|
+
= @order.email
|
63
|
+
|
64
|
+
- if @order.payment
|
65
|
+
p.title 決済方法等
|
66
|
+
.box
|
67
|
+
p
|
68
|
+
span
|
69
|
+
= @order.payment.name
|
70
|
+
|
71
|
+
- if @order.shipment
|
72
|
+
p.title 配送方法
|
73
|
+
.box
|
74
|
+
p
|
75
|
+
span
|
76
|
+
= @order.shipment.name
|
77
|
+
|
78
|
+
.btn-inner
|
79
|
+
th colspan="2"
|
80
|
+
= form_for @order, as: :order, url: comable.order_path, method: :post do |f|
|
81
|
+
= f.submit 'この内容で注文する', class: 'btn'
|
82
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#comable-order
|
2
|
+
h2
|
3
|
+
= @order.class.human_state_name(:completed)
|
4
|
+
hr.line-bg/
|
5
|
+
.step
|
6
|
+
= image_tag("step_04.png")
|
7
|
+
p.center
|
8
|
+
span
|
9
|
+
| ご注文ありがとうございます。
|
10
|
+
br
|
11
|
+
| 注文番号は下記になります。
|
12
|
+
br
|
13
|
+
span =@order.code
|
14
|
+
br
|
15
|
+
| 商品のお届けまで、もうしばらくお待ちください。
|
16
|
+
= link_to 'TOPに戻る', comable.root_path
|
17
|
+
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#comable-order
|
2
|
+
.comable-ship_address
|
3
|
+
h2 配送先住所
|
4
|
+
hr.line-bg/
|
5
|
+
.step
|
6
|
+
= image_tag("step_01.png")
|
7
|
+
- if @order.ship_address.try(:persisted?)
|
8
|
+
= render 'comable/shared/address', address: @order.ship_address
|
9
|
+
= link_to Comable.t('next_step'), next_order_path
|
10
|
+
|
11
|
+
.edit.row
|
12
|
+
h2
|
13
|
+
= Comable.t('edit_shipping_address')
|
14
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
15
|
+
= f.fields_for :ship_address do |ff|
|
16
|
+
= render 'comable/shared/address_form', address: ff
|
17
|
+
= f.submit Comable.t('next_step')
|
18
|
+
|
19
|
+
- if current_comable_user.other_addresses.any?
|
20
|
+
.other_addresses.row
|
21
|
+
h2
|
22
|
+
= Comable.t('other_addresses')
|
23
|
+
ul.list-unstyled
|
24
|
+
- current_comable_user.addresses.each do |address|
|
25
|
+
- next if @order.ship_address.same_as? address
|
26
|
+
li.col-sm-4
|
27
|
+
= render 'comable/shared/address', address: address
|
28
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
29
|
+
.hidden
|
30
|
+
= f.fields_for :ship_address, address.clone do |ff|
|
31
|
+
= render 'comable/shared/address_form', address: ff
|
32
|
+
= f.submit Comable.t('use_this_address'), class: 'btn btn-default'
|
33
|
+
|
34
|
+
- else
|
35
|
+
/ TODO: Standardize
|
36
|
+
- if @order.errors.any?
|
37
|
+
.error_messages
|
38
|
+
ul
|
39
|
+
- @order.errors.full_messages.each do |full_message|
|
40
|
+
li = full_message
|
41
|
+
|
42
|
+
.new
|
43
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
44
|
+
table.nonmember-ordre
|
45
|
+
- @order.ship_address ||= @order.build_ship_address
|
46
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
47
|
+
= f.fields_for :ship_address do |ff|
|
48
|
+
= render 'comable/shared/address_form', address: ff
|
49
|
+
|
50
|
+
.button-box
|
51
|
+
= link_to '戻る',comable.signin_order_path, class: 'prv-next'
|
52
|
+
= f.submit '次へ', class: 'prv-next'
|
@@ -0,0 +1,72 @@
|
|
1
|
+
#comable-order
|
2
|
+
.comable-bill_address
|
3
|
+
h2 注文者情報入力
|
4
|
+
hr.line-bg
|
5
|
+
.step
|
6
|
+
= image_tag("step_01.png")
|
7
|
+
- if @order.bill_address.try(:persisted?)
|
8
|
+
.comable-email
|
9
|
+
= @order.email
|
10
|
+
= render 'comable/shared/address', address: @order.bill_address
|
11
|
+
= link_to Comable.t('next_step'), next_order_path
|
12
|
+
|
13
|
+
.edit.row
|
14
|
+
h2
|
15
|
+
= Comable.t('edit_billing_address')
|
16
|
+
|
17
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
18
|
+
table.new-member
|
19
|
+
tbody
|
20
|
+
tr
|
21
|
+
th
|
22
|
+
.col-sm-2.control-label
|
23
|
+
= f.label :email
|
24
|
+
tb
|
25
|
+
.col-sm-10
|
26
|
+
= f.email_field :email, placeholder: @order.class.human_attribute_name(:email)
|
27
|
+
= f.fields_for :bill_address do |ff|
|
28
|
+
= render 'comable/shared/address_form', address: ff
|
29
|
+
|
30
|
+
= f.submit Comable.t('next_step')
|
31
|
+
|
32
|
+
- if current_comable_user.other_addresses.any?
|
33
|
+
.other_addresses.row
|
34
|
+
h2
|
35
|
+
= Comable.t('other_addresses')
|
36
|
+
ul.list-unstyled
|
37
|
+
- current_comable_user.addresses.each do |address|
|
38
|
+
- next if @order.bill_address.same_as? address
|
39
|
+
li.col-sm-4
|
40
|
+
= render 'comable/shared/address', address: address
|
41
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
42
|
+
.hidden
|
43
|
+
= f.fields_for :bill_address, address.clone do |ff|
|
44
|
+
= render 'comable/shared/address_form', address: ff
|
45
|
+
= f.submit Comable.t('use_this_address'), class: 'btn btn-default'
|
46
|
+
|
47
|
+
- else
|
48
|
+
/ TODO: Standardize
|
49
|
+
- if @order.errors.any?
|
50
|
+
.error_messages
|
51
|
+
ul
|
52
|
+
- @order.errors.full_messages.each do |full_message|
|
53
|
+
li = full_message
|
54
|
+
|
55
|
+
.new
|
56
|
+
- @order.bill_address ||= @order.build_bill_address
|
57
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
58
|
+
table.nonmember-ordre
|
59
|
+
tbody
|
60
|
+
tr
|
61
|
+
th
|
62
|
+
.col-sm-2.control-label
|
63
|
+
span ※
|
64
|
+
= f.label :email
|
65
|
+
td
|
66
|
+
.col-sm-10
|
67
|
+
= f.email_field :email, placeholder: @order.class.human_attribute_name(:email), style: 'width:500px'
|
68
|
+
= f.fields_for :bill_address do |ff|
|
69
|
+
= render 'comable/shared/address_form', address: ff
|
70
|
+
.button-box
|
71
|
+
= link_to '戻る',comable.signin_order_path, class: 'prv-next'
|
72
|
+
= f.submit '次へ', class: 'prv-next'
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#comable-order
|
2
|
+
.comable-pyament
|
3
|
+
h2 ショッピングカート:決済方法の選択
|
4
|
+
hr.line-bg
|
5
|
+
- if @order.errors.any?
|
6
|
+
.errors
|
7
|
+
ul
|
8
|
+
- @order.errors.full_messages.each do |message|
|
9
|
+
li = message
|
10
|
+
.step
|
11
|
+
= image_tag("step_02.png")
|
12
|
+
table.cart
|
13
|
+
tr
|
14
|
+
th 商品画像
|
15
|
+
th 品番・品名・詳細
|
16
|
+
th 数量
|
17
|
+
th 単価(税込)
|
18
|
+
th 小計
|
19
|
+
th 削除
|
20
|
+
- @order.order_items.each do |order_item|
|
21
|
+
- stock = order_item.stock
|
22
|
+
- product = stock.product
|
23
|
+
tr
|
24
|
+
td.center
|
25
|
+
= link_to image_tag(product.image_url, width: '100'), comable.product_path(product)
|
26
|
+
td
|
27
|
+
.code
|
28
|
+
= product.code
|
29
|
+
.name
|
30
|
+
= stock.name_with_sku
|
31
|
+
.caption
|
32
|
+
= product.caption
|
33
|
+
- if order_item.unstocked?
|
34
|
+
.error.soldout = Comable.t('carts.soldout')
|
35
|
+
td.center
|
36
|
+
= order_item.quantity
|
37
|
+
td.right
|
38
|
+
= number_to_currency product.price
|
39
|
+
td.right
|
40
|
+
= number_to_currency product.price*order_item.quantity
|
41
|
+
td.center
|
42
|
+
= link_to image_tag("bt_delete.png"), comable.cart_path(stock_id: stock.id), method: :delete
|
43
|
+
tr
|
44
|
+
td 合計
|
45
|
+
td.right colspan="5"
|
46
|
+
= number_to_currency @order.current_item_total_price
|
47
|
+
p.title 決済方法等
|
48
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
49
|
+
.box
|
50
|
+
p
|
51
|
+
- payment = @order.payment || @order.build_payment
|
52
|
+
= f.fields_for :payment, payment do |ff|
|
53
|
+
- Comable::PaymentMethod.all.each.with_index do |payment_method, index|
|
54
|
+
span
|
55
|
+
- checked_flag = payment.payment_method ? (payment.payment_method == payment_method) : index.zero?
|
56
|
+
= ff.radio_button :payment_method_id, payment_method.id, checked: checked_flag
|
57
|
+
= ff.label :payment_method_id, payment_method.name, value: payment_method.id
|
58
|
+
.btn-inner
|
59
|
+
= f.submit Comable.t('next_step'), class: 'btn'
|
60
|
+
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#wrap
|
2
|
+
h2 ショッピングカート:配送方法選択
|
3
|
+
hr.line-bg
|
4
|
+
- if @order.errors.any?
|
5
|
+
.errors
|
6
|
+
ul
|
7
|
+
- @order.errors.full_messages.each do |message|
|
8
|
+
li = message
|
9
|
+
.step
|
10
|
+
= image_tag("step_02.png")
|
11
|
+
table.cart
|
12
|
+
tr
|
13
|
+
th 商品画像
|
14
|
+
th 品番・品名・詳細
|
15
|
+
th 数量
|
16
|
+
th 単価(税込)
|
17
|
+
th 小計
|
18
|
+
th 削除
|
19
|
+
- @order.order_items.each do |order_item|
|
20
|
+
- stock = order_item.stock
|
21
|
+
- product = stock.product
|
22
|
+
tr
|
23
|
+
td.center
|
24
|
+
= link_to image_tag(product.image_url, width: '100'), comable.product_path(product)
|
25
|
+
td
|
26
|
+
.code
|
27
|
+
= product.code
|
28
|
+
.name
|
29
|
+
= stock.name_with_sku
|
30
|
+
.caption
|
31
|
+
= product.caption
|
32
|
+
- if order_item.unstocked?
|
33
|
+
.error.soldout = Comable.t('carts.soldout')
|
34
|
+
td.center
|
35
|
+
= order_item.quantity
|
36
|
+
td.right
|
37
|
+
= number_to_currency product.price
|
38
|
+
td.right
|
39
|
+
= number_to_currency product.price*order_item.quantity
|
40
|
+
td.center
|
41
|
+
= link_to image_tag("bt_delete.png"), comable.cart_path(stock_id: stock.id), method: :delete
|
42
|
+
tr
|
43
|
+
td 合計
|
44
|
+
td.right colspan="5"
|
45
|
+
= number_to_currency @order.current_item_total_price
|
46
|
+
|
47
|
+
|
48
|
+
p.title = @order.class.human_state_name(:shipment)
|
49
|
+
= form_for @order, as: :order, url: update_order_path, method: :put do |f|
|
50
|
+
.box
|
51
|
+
p
|
52
|
+
- shipment = @order.shipment || @order.build_shipment
|
53
|
+
= f.fields_for :shipment, shipment do |ff|
|
54
|
+
- Comable::ShipmentMethod.activated.each.with_index do |shipment_method, index|
|
55
|
+
span
|
56
|
+
- checked_flag = shipment.shipment_method ? (shipment.shipment_method == shipment_method) : index.zero?
|
57
|
+
= ff.radio_button :shipment_method_id, shipment_method.id, checked: checked_flag
|
58
|
+
= ff.label :shipment_method_id, shipment_method.name, value: shipment_method.id
|
59
|
+
.btn-inner
|
60
|
+
= f.submit Comable.t('next_step'), :class =>'btn'
|
@@ -0,0 +1,89 @@
|
|
1
|
+
#wrap
|
2
|
+
- if @order.errors.any?
|
3
|
+
.error_messages
|
4
|
+
ul
|
5
|
+
- @order.errors.full_messages.each do |full_message|
|
6
|
+
li = full_message
|
7
|
+
|
8
|
+
h2 ショッピングカート:注文者情報入力(新規会員登録)
|
9
|
+
hr.line-bg
|
10
|
+
.step
|
11
|
+
= image_tag("step_01.png")
|
12
|
+
table.cart
|
13
|
+
tr
|
14
|
+
th 商品画像
|
15
|
+
th 品番・品名・詳細
|
16
|
+
th 数量
|
17
|
+
th 単価(税込)
|
18
|
+
th 小計
|
19
|
+
th 削除
|
20
|
+
- @order.order_items.each do |order_item|
|
21
|
+
- stock = order_item.stock
|
22
|
+
- product = stock.product
|
23
|
+
tr
|
24
|
+
td.center
|
25
|
+
= link_to image_tag(product.image_url, width: '100'), comable.product_path(product)
|
26
|
+
td
|
27
|
+
.code
|
28
|
+
= product.code
|
29
|
+
.name
|
30
|
+
= link_to stock.name_with_sku, comable.product_path(product)
|
31
|
+
.caption
|
32
|
+
= product.caption
|
33
|
+
- if order_item.unstocked?
|
34
|
+
.error.soldout = Comable.t('carts.soldout')
|
35
|
+
td.center
|
36
|
+
= order_item.quantity
|
37
|
+
td.right
|
38
|
+
= number_to_currency product.price
|
39
|
+
td.right
|
40
|
+
= number_to_currency current_comable_user.cart.price
|
41
|
+
td.center
|
42
|
+
= link_to image_tag("bt_delete.png"), comable.cart_path(stock_id: stock.id), method: :delete
|
43
|
+
tr
|
44
|
+
td 合計
|
45
|
+
td.right colspan="5"
|
46
|
+
= number_to_currency @order.current_item_total_price
|
47
|
+
|
48
|
+
section.member
|
49
|
+
= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
|
50
|
+
.login-box
|
51
|
+
p.login 会員の方
|
52
|
+
tr
|
53
|
+
th
|
54
|
+
span ログインID
|
55
|
+
td
|
56
|
+
= f.email_field :email, autofocus: true, class: 'id-pass'
|
57
|
+
tr
|
58
|
+
th
|
59
|
+
span パスワード
|
60
|
+
td
|
61
|
+
= f.password_field :password, autocomplete: "off", class: 'id-pass'
|
62
|
+
p.bt-login
|
63
|
+
= image_submit_tag "bt_login.png", :class=>'bt-login'
|
64
|
+
p.forget
|
65
|
+
= link_to "パスワードをお忘れの方はこちら", comable.new_user_password_path
|
66
|
+
.member-box
|
67
|
+
p.login 初めての方(新規会員登録)
|
68
|
+
p
|
69
|
+
| 無料で新規会員登録ができます。
|
70
|
+
br
|
71
|
+
|
|
72
|
+
br
|
73
|
+
| 会員登録をすると便利なMyページをご利用いただけます。また、ログインするだけで、毎回お名前や住所などを入力することなくスムーズにお買い物をお楽しみいただけます。
|
74
|
+
.bt-member
|
75
|
+
= link_to image_tag("bt_member.png"), comable.new_user_registration_path
|
76
|
+
p.center 会員登録をしないで商品を購入される方は、こちらより購入手続きが行えます。
|
77
|
+
.btn-inner
|
78
|
+
= form_for @order, as: :order, url: comable.guest_order_path, method: :put do |f|
|
79
|
+
.form-group
|
80
|
+
.col-sm-2.control-label
|
81
|
+
| ▼メールアドレスを入力してください
|
82
|
+
.col-sm-10
|
83
|
+
= f.email_field :email, placeholder: @order.class.human_attribute_name(:email), class: 'id-pass'
|
84
|
+
= f.submit "会員登録をしないで購入手続き", class: 'btn'
|
85
|
+
p.center
|
86
|
+
= link_to "買い物を続ける",comable.root_path
|
87
|
+
/! end#wrap
|
88
|
+
|
89
|
+
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#main
|
2
|
+
ul.breadcrumb
|
3
|
+
li
|
4
|
+
= link_to "トップページ",comable.root_path
|
5
|
+
| >
|
6
|
+
- if @category.present? && @category.ancestors.present?
|
7
|
+
li
|
8
|
+
=link_to_category @category.ancestors.first, force_link: true
|
9
|
+
| >
|
10
|
+
- if @category.present?
|
11
|
+
li
|
12
|
+
= link_to_category @category
|
13
|
+
|
14
|
+
/- if @category.children.each do |child|
|
15
|
+
li
|
16
|
+
= link_to_category child, force_link: true
|
17
|
+
|
18
|
+
hr.line-bg/
|
19
|
+
p.result
|
20
|
+
| 検索結果:
|
21
|
+
= @products.total_count
|
22
|
+
| 件
|
23
|
+
.search
|
24
|
+
= form_tag comable.products_path, method: :get do
|
25
|
+
.hidden
|
26
|
+
= hidden_field_tag :category_id, params[:category_id]
|
27
|
+
= submit_tag
|
28
|
+
|
29
|
+
#per_page
|
30
|
+
p.cate
|
31
|
+
| 表示件数
|
32
|
+
= select_tag :per_page, options_for_select(Comable::Product.per_page.options, params[:per_page])
|
33
|
+
|
34
|
+
#order_by
|
35
|
+
p.cate
|
36
|
+
| 並び替え
|
37
|
+
= select_tag :order_by, options_for_select(Comable::Product.order_by.options, params[:order_by])
|
38
|
+
|
39
|
+
#filter_by_stocks
|
40
|
+
p.cate
|
41
|
+
| 在庫の有無
|
42
|
+
= select_tag :filter_by_stocks, options_for_select(Comable::Product.filter_by_stocks.options, params[:filter_by_stocks])
|
43
|
+
|
44
|
+
.box
|
45
|
+
.product.col-sm-10
|
46
|
+
- @products.each_slice(5) do |products|
|
47
|
+
ul.product
|
48
|
+
- products.each do |product|
|
49
|
+
li.col-sm-4
|
50
|
+
/.icon
|
51
|
+
= link_to comable.product_path(product), class: 'thumbnail' do
|
52
|
+
= image_tag product.image_url, width: '100'
|
53
|
+
.name
|
54
|
+
= link_to product.name, comable.product_path(product)
|
55
|
+
.price
|
56
|
+
= number_to_currency product.price
|
57
|
+
ul.pageNav
|
58
|
+
= paginate @products, theme: :comable_frontend
|
59
|
+
/! end#mian
|
60
|
+
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#contents
|
2
|
+
#main
|
3
|
+
ul.breadcrumb
|
4
|
+
li
|
5
|
+
= link_to "トップページ", comable.root_path
|
6
|
+
li
|
7
|
+
span >
|
8
|
+
- if @product.categories.any?
|
9
|
+
- @product.categories.first.path.each do |category|
|
10
|
+
li = link_to category.name, comable.products_path(category_id: category.id)
|
11
|
+
li.active
|
12
|
+
span >
|
13
|
+
= @product.name
|
14
|
+
hr.line-bg
|
15
|
+
|
16
|
+
#ProductDetailArea
|
17
|
+
/! 画像側
|
18
|
+
.main-product
|
19
|
+
.sample
|
20
|
+
= image_tag @product.image_url, class: 'main', width: '100%'
|
21
|
+
- if @product.stocks.present?
|
22
|
+
ul.stock
|
23
|
+
- @product.stocks.each do |stock|
|
24
|
+
= form_tag comable.add_cart_path do
|
25
|
+
li.ed
|
26
|
+
p =stock.sku_v_choice_name
|
27
|
+
p
|
28
|
+
=stock.sku_h_choice_name
|
29
|
+
| (
|
30
|
+
=stock.quantity
|
31
|
+
| )
|
32
|
+
- if stock.stocked?
|
33
|
+
.add_cart.form-inline.form-group
|
34
|
+
= hidden_field_tag :stock_id, stock.id
|
35
|
+
= hidden_field_tag :product_id, @product.id
|
36
|
+
= select_tag :quantity, options_for_select(1.upto(10).to_a)
|
37
|
+
= image_submit_tag 'shoppingcart.png'
|
38
|
+
- else
|
39
|
+
p
|
40
|
+
.sold_out
|
41
|
+
= Comable.t('soldout')
|
42
|
+
|
43
|
+
/! 詳細側
|
44
|
+
.main-detail
|
45
|
+
.icon
|
46
|
+
p.new New
|
47
|
+
p.lot-number
|
48
|
+
| 商品番号:
|
49
|
+
= @product.code
|
50
|
+
h1 = @product.name
|
51
|
+
p.price = number_to_currency @product.price
|
52
|
+
p.title Detail
|
53
|
+
ul.DetailColor
|
54
|
+
- @product.images.each do |image|
|
55
|
+
li
|
56
|
+
= image_tag image.url
|
57
|
+
.introduction
|
58
|
+
- if @product.caption.present?
|
59
|
+
p アイテム紹介
|
60
|
+
p.text
|
61
|
+
=@product.caption
|
62
|
+
hr.dod
|
63
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
tr
|
2
|
+
th お名前
|
3
|
+
td
|
4
|
+
= address.full_name
|
5
|
+
tr
|
6
|
+
th 郵便番号
|
7
|
+
td
|
8
|
+
= address.zip_code
|
9
|
+
tr
|
10
|
+
th 都道府県
|
11
|
+
td
|
12
|
+
= address.state_name
|
13
|
+
tr
|
14
|
+
th 市町村
|
15
|
+
td
|
16
|
+
= address.city
|
17
|
+
tr
|
18
|
+
th 番地・建物名・部屋番号
|
19
|
+
td
|
20
|
+
= address.detail
|
21
|
+
tr
|
22
|
+
th 電話番号
|
23
|
+
td
|
24
|
+
= address.phone_number
|
@@ -0,0 +1,60 @@
|
|
1
|
+
tr
|
2
|
+
th
|
3
|
+
span ※
|
4
|
+
= address.label :full_name
|
5
|
+
td
|
6
|
+
| 姓
|
7
|
+
= address.text_field :family_name
|
8
|
+
| 名
|
9
|
+
= address.text_field :first_name
|
10
|
+
tr
|
11
|
+
th
|
12
|
+
.col-sm-2.control-label
|
13
|
+
span ※
|
14
|
+
= address.label :zip_code
|
15
|
+
td
|
16
|
+
.col-sm-10
|
17
|
+
span> 〒
|
18
|
+
= address.text_field :zip_code
|
19
|
+
br
|
20
|
+
span 例:151-0021
|
21
|
+
tr
|
22
|
+
th
|
23
|
+
.col-sm-2.control-label
|
24
|
+
span> ※
|
25
|
+
= address.label :state_name
|
26
|
+
td
|
27
|
+
.col-sm-10
|
28
|
+
= address.text_field :state_name, style: 'width:250px'
|
29
|
+
br
|
30
|
+
span 例:東京都
|
31
|
+
tr
|
32
|
+
th
|
33
|
+
.col-sm-2.control-label
|
34
|
+
span> ※
|
35
|
+
= address.label :city
|
36
|
+
td
|
37
|
+
.col-sm-10
|
38
|
+
= address.text_field :city, style: 'width:250px'
|
39
|
+
br
|
40
|
+
span> 例:渋谷区恵比寿西
|
41
|
+
tr
|
42
|
+
th
|
43
|
+
.col-sm-2.control-label
|
44
|
+
| 番地・建物名・部屋番号
|
45
|
+
td
|
46
|
+
.col-sm-10
|
47
|
+
= address.text_field :detail, style: 'width:250px'
|
48
|
+
br
|
49
|
+
span> 例:1-1-1 エレコマビル5F
|
50
|
+
tr
|
51
|
+
th
|
52
|
+
.col-sm-2.control-label
|
53
|
+
= address.label :phone_number
|
54
|
+
td
|
55
|
+
.col-sm-10
|
56
|
+
= address.text_field :phone_number, max_length: 18, style: 'width:250px'
|
57
|
+
br
|
58
|
+
span> 携帯可
|
59
|
+
|
60
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#pagetop
|
2
|
+
.pagetop
|
3
|
+
a href="#header"
|
4
|
+
= image_tag("pagetop.gif")
|
5
|
+
#footer
|
6
|
+
.inner
|
7
|
+
a href="#" お問い合わせ
|
8
|
+
|
|
9
|
+
a href="#" よくある質問
|
10
|
+
|
|
11
|
+
a href="#" プライバシーポリシー
|
12
|
+
|
|
13
|
+
a href="#" 特定商取引法に基づく表記
|
14
|
+
|
|
15
|
+
a href="#" 会社概要
|
16
|
+
p.copyright Copyright (c) 2000-2015 K&Bstyle CO.LTD. All Rights Reserved.
|
17
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#header
|
2
|
+
h1 =link_to image_tag('logo.gif'),comable.root_path
|
3
|
+
.member-info
|
4
|
+
.cart
|
5
|
+
= link_to comable.cart_path do
|
6
|
+
.inner-bg
|
7
|
+
- if current_comable_user.cart.present?
|
8
|
+
p
|
9
|
+
= current_comable_user.cart.count
|
10
|
+
span 点 ¥
|
11
|
+
= number_to_currency current_comable_user.cart.price
|
12
|
+
span -
|
13
|
+
- else
|
14
|
+
p 0 点 ¥ 0-
|
15
|
+
p.test
|
16
|
+
|
|
17
|
+
= link_to '会員登録',comable.user_session_path
|
18
|
+
| |
|
19
|
+
= link_to 'マイページ',comable.user_path
|
20
|
+
| |
|
21
|
+
- if current_comable_user.signed_in?
|
22
|
+
= link_to comable.destroy_user_session_path, method: :delete do
|
23
|
+
i.glyphicon.glyphicon-log-out
|
24
|
+
= Comable.t('sign_out')
|
25
|
+
- else
|
26
|
+
= link_to comable.new_user_session_path do
|
27
|
+
i.glyphicon.glyphicon-log-in
|
28
|
+
= Comable.t('sign_in')
|
29
|
+
/! end#heder
|
30
|
+
hr.line/
|