workarea-storefront 3.4.45 → 3.5.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +52 -0
- data/app/assets/javascripts/workarea/storefront/application.js.erb +2 -12
- data/app/assets/javascripts/workarea/storefront/config.js.erb +0 -5
- data/app/assets/javascripts/workarea/storefront/modules/{analytics.js → analytics.js.erb} +17 -0
- data/app/assets/javascripts/workarea/storefront/modules/dialog_buttons.js +1 -1
- data/app/assets/javascripts/workarea/storefront/modules/workarea_analytics.js +4 -0
- data/app/assets/stylesheets/workarea/storefront/application.scss.erb +0 -2
- data/app/assets/stylesheets/workarea/storefront/email/_base.scss +9 -1
- data/app/assets/stylesheets/workarea/storefront/email/_components.scss +1 -1
- data/app/assets/stylesheets/workarea/storefront/email/_helpers.scss +16 -0
- data/app/assets/stylesheets/workarea/storefront/email/{_settings.scss → _settings.scss.erb} +1 -1
- data/app/controllers/workarea/storefront/analytics_controller.rb +36 -21
- data/app/controllers/workarea/storefront/application_controller.rb +2 -4
- data/app/controllers/workarea/storefront/cart_items_controller.rb +1 -2
- data/app/controllers/workarea/storefront/checkout/addresses_controller.rb +0 -2
- data/app/controllers/workarea/storefront/checkouts_controller.rb +6 -4
- data/app/controllers/workarea/storefront/content_areas_controller.rb +1 -0
- data/app/controllers/workarea/storefront/content_blocks_controller.rb +1 -0
- data/app/controllers/workarea/storefront/current_checkout.rb +20 -14
- data/app/controllers/workarea/storefront/downloads_controller.rb +18 -0
- data/app/controllers/workarea/storefront/email_signups_controller.rb +1 -0
- data/app/controllers/workarea/storefront/errors_controller.rb +6 -0
- data/app/controllers/workarea/storefront/recent_views_controller.rb +2 -35
- data/app/controllers/workarea/storefront/recommendations_controller.rb +2 -2
- data/app/controllers/workarea/storefront/searches_controller.rb +0 -11
- data/app/controllers/workarea/storefront/users/accounts_controller.rb +2 -7
- data/app/controllers/workarea/storefront/users/credit_cards_controller.rb +5 -2
- data/app/controllers/workarea/storefront/users/passwords_controller.rb +1 -5
- data/app/helpers/workarea/storefront/application_helper.rb +19 -3
- data/app/helpers/workarea/storefront/content_helper.rb +1 -1
- data/app/helpers/workarea/storefront/favicons_helper.rb +6 -7
- data/app/helpers/workarea/storefront/navigation_helper.rb +10 -0
- data/app/helpers/workarea/storefront/schema_org_helper.rb +156 -0
- data/app/mailers/workarea/storefront/application_mailer.rb +1 -0
- data/app/view_models/workarea/storefront/category_view_model.rb +2 -2
- data/app/view_models/workarea/storefront/content_block_view_model.rb +41 -10
- data/app/view_models/workarea/storefront/content_blocks/product_insights_view_model.rb +1 -1
- data/app/view_models/workarea/storefront/display_content.rb +3 -1
- data/app/view_models/workarea/storefront/inquiry_view_model.rb +1 -7
- data/app/view_models/workarea/storefront/inventory_status_view_model.rb +10 -6
- data/app/view_models/workarea/storefront/order_item_view_model.rb +14 -0
- data/app/view_models/workarea/storefront/product_view_model.rb +22 -4
- data/app/view_models/workarea/storefront/recommendations_view_model.rb +8 -4
- data/app/view_models/workarea/storefront/search_view_model.rb +1 -1
- data/app/view_models/workarea/storefront/user_activity_view_model.rb +6 -17
- data/app/views/layouts/workarea/storefront/application.html.haml +13 -17
- data/app/views/layouts/workarea/storefront/checkout.html.haml +1 -1
- data/app/views/layouts/workarea/storefront/content_preview.html.haml +1 -0
- data/app/views/layouts/workarea/storefront/email.html.haml +33 -26
- data/app/views/layouts/workarea/storefront/empty.html.haml +1 -0
- data/app/views/layouts/workarea/storefront/navigation.html.haml +1 -1
- data/app/views/workarea/storefront/account_mailer/creation.html.haml +2 -0
- data/app/views/workarea/storefront/account_mailer/password_reset.html.haml +2 -0
- data/app/views/workarea/storefront/cart_items/create.html.haml +1 -1
- data/app/views/workarea/storefront/carts/show.html.haml +1 -1
- data/app/views/workarea/storefront/categories/show.html.haml +3 -2
- data/app/views/workarea/storefront/checkouts/confirmation.html.haml +1 -1
- data/app/views/workarea/storefront/contacts/show.html.haml +4 -2
- data/app/views/workarea/storefront/content_areas/show.html.haml +1 -0
- data/app/views/workarea/storefront/content_blocks/_category_summary.html.haml +2 -1
- data/app/views/workarea/storefront/content_blocks/_product_insights.html.haml +2 -1
- data/app/views/workarea/storefront/content_blocks/_product_list.html.haml +2 -1
- data/app/views/workarea/storefront/errors/show.html.haml +1 -0
- data/app/views/workarea/storefront/fulfillment_mailer/shipped.html.haml +3 -1
- data/app/views/workarea/storefront/order_mailer/_summary.html.haml +6 -0
- data/app/views/workarea/storefront/order_mailer/confirmation.html.haml +3 -0
- data/app/views/workarea/storefront/order_mailer/reminder.html.haml +3 -0
- data/app/views/workarea/storefront/orders/_summary.html.haml +3 -1
- data/app/views/workarea/storefront/orders/show.html.haml +3 -3
- data/app/views/workarea/storefront/pages/home_page.html.haml +4 -0
- data/app/views/workarea/storefront/pages/robots.text.erb +0 -1
- data/app/views/workarea/storefront/pages/show.html.haml +1 -0
- data/app/views/workarea/storefront/products/_price.html.haml +1 -2
- data/app/views/workarea/storefront/products/_pricing.html.haml +12 -6
- data/app/views/workarea/storefront/products/_summary.html.haml +3 -3
- data/app/views/workarea/storefront/products/show.html.haml +6 -4
- data/app/views/workarea/storefront/products/templates/_generic.html.haml +5 -5
- data/app/views/workarea/storefront/products/templates/_option_selects.html.haml +5 -7
- data/app/views/workarea/storefront/products/templates/_option_thumbnails.html.haml +5 -7
- data/app/views/workarea/storefront/recent_views/aside.html.haml +3 -10
- data/app/views/workarea/storefront/recent_views/narrow.html.haml +3 -10
- data/app/views/workarea/storefront/recent_views/show.html.haml +3 -10
- data/app/views/workarea/storefront/recommendations/show.html.haml +1 -1
- data/app/views/workarea/storefront/searches/show.html.haml +4 -5
- data/app/views/workarea/storefront/users/accounts/edit.html.haml +3 -3
- data/app/views/workarea/storefront/users/accounts/show.html.haml +3 -3
- data/app/views/workarea/storefront/users/addresses/edit.html.haml +3 -3
- data/app/views/workarea/storefront/users/addresses/new.html.haml +3 -3
- data/app/views/workarea/storefront/users/credit_cards/edit.html.haml +3 -3
- data/app/views/workarea/storefront/users/credit_cards/new.html.haml +3 -3
- data/app/views/workarea/storefront/users/orders/index.html.haml +3 -3
- data/app/views/workarea/storefront/users/orders/show.html.haml +4 -4
- data/app/views/workarea/storefront/users/passwords/new.html.haml +3 -3
- data/config/locales/en.yml +16 -3
- data/config/routes.rb +4 -2
- data/test/dummy/config/initializers/session_store.rb +1 -1
- data/test/helpers/workarea/storefront/content_helper_test.rb +1 -0
- data/test/helpers/workarea/storefront/navigation_helper_test.rb +4 -0
- data/test/helpers/workarea/storefront/schema_org_helper_test.rb +27 -0
- data/test/integration/workarea/storefront/analytics_integration_test.rb +44 -4
- data/test/integration/workarea/storefront/cart_items_integration_test.rb +0 -12
- data/test/integration/workarea/storefront/categories_integration_test.rb +0 -10
- data/test/integration/workarea/storefront/checkout_side_effects_integration_test.rb +15 -1
- data/test/integration/workarea/storefront/checkouts_integration_test.rb +68 -11
- data/test/integration/workarea/storefront/contact_form_integration_test.rb +18 -20
- data/test/integration/workarea/storefront/content_blocks_integration_test.rb +1 -4
- data/test/integration/workarea/storefront/current_checkout_integration_test.rb +53 -2
- data/test/integration/workarea/storefront/downloads_integration_test.rb +38 -0
- data/test/integration/workarea/storefront/email_signups_integration_test.rb +2 -0
- data/test/integration/workarea/storefront/guest_browsing_integration_test.rb +2 -2
- data/test/integration/workarea/storefront/impersonations_integration_test.rb +2 -2
- data/test/integration/workarea/storefront/login_integration_test.rb +3 -9
- data/test/integration/workarea/storefront/order_data_integration_test.rb +1 -9
- data/test/integration/workarea/storefront/place_order_integration_test.rb +5 -7
- data/test/integration/workarea/storefront/placing_order_integration_test.rb +1 -1
- data/test/integration/workarea/storefront/recent_views_integration_test.rb +29 -0
- data/test/integration/workarea/storefront/releases_integration_test.rb +132 -0
- data/test/integration/workarea/storefront/search_integration_test.rb +0 -46
- data/test/integration/workarea/storefront/segment_overrides_integration_test.rb +48 -0
- data/test/integration/workarea/storefront/segments_integration_test.rb +250 -0
- data/test/integration/workarea/storefront/store_credit_integration_test.rb +1 -1
- data/test/integration/workarea/storefront/users/credit_cards_integration_test.rb +2 -2
- data/test/integration/workarea/storefront/users/passwords_integration_test.rb +0 -19
- data/test/javascripts/traffic_referrer_spec.js +1 -1
- data/test/mailers/workarea/storefront/transactional_mailer_test.rb +9 -13
- data/test/system/workarea/storefront/analytics_system_test.rb +54 -40
- data/test/system/workarea/storefront/content_system_test.rb +10 -1
- data/test/system/workarea/storefront/digital_products_system_test.rb +2 -0
- data/test/system/workarea/storefront/download_system_test.rb +145 -0
- data/test/system/workarea/storefront/guest_checkout_system_test.rb +20 -0
- data/test/system/workarea/storefront/logged_in_checkout_system_test.rb +31 -32
- data/test/system/workarea/storefront/passwords_system_test.rb +35 -37
- data/test/system/workarea/storefront/pricing_overrides_system_test.rb +13 -2
- data/test/system/workarea/storefront/segment_overrides_system_test.rb +69 -0
- data/test/view_models/workarea/storefront/category_view_model_test.rb +20 -0
- data/test/view_models/workarea/storefront/content_block_view_model_test.rb +135 -3
- data/test/view_models/workarea/storefront/display_content_test.rb +4 -0
- data/test/view_models/workarea/storefront/product_view_model/option_set_test.rb +7 -8
- data/test/view_models/workarea/storefront/product_view_model_test.rb +17 -10
- data/test/view_models/workarea/storefront/search_view_model_test.rb +0 -6
- data/test/view_models/workarea/storefront/user_activity_view_model_test.rb +18 -20
- metadata +20 -22
- data/app/assets/javascripts/workarea/storefront/modules/recent_views.js +0 -25
- data/app/assets/javascripts/workarea/storefront/modules/search_fields.js +0 -59
- data/app/assets/javascripts/workarea/storefront/templates/ui_menu_heading.jst.ejs +0 -1
- data/app/assets/javascripts/workarea/storefront/templates/ui_menu_item.jst.ejs +0 -8
- data/app/assets/stylesheets/jquery_ui/storefront/_ui_autocomplete.scss +0 -17
- data/app/assets/stylesheets/jquery_ui/storefront/_ui_menu.scss +0 -40
- data/app/controllers/workarea/storefront/http_caching.rb +0 -33
- data/app/controllers/workarea/storefront/user_activity.rb +0 -19
- data/app/view_models/workarea/storefront/search_suggestion_view_model.rb +0 -87
- data/app/views/workarea/storefront/searches/index.json.jbuilder +0 -1
- data/app/views/workarea/storefront/style_guides/components/_ui_autocomplete.html.haml +0 -11
- data/test/dummy/tmp/screenshots/.keep +0 -0
- data/test/view_models/workarea/storefront/search_suggestion_view_model_test.rb +0 -42
@@ -32,7 +32,7 @@
|
|
32
32
|
= append_partials('storefront.document_head')
|
33
33
|
= javascript_include_tag Workarea.config.asset_manifests.storefront_javascript_head
|
34
34
|
|
35
|
-
%body
|
35
|
+
%body
|
36
36
|
|
37
37
|
%ul.accessibility-nav.visually-hidden
|
38
38
|
%li= link_to t('workarea.storefront.layouts.accessibility_info'), accessibility_path
|
@@ -67,5 +67,5 @@
|
|
67
67
|
.grid
|
68
68
|
- @cart.recommendations.each do |product|
|
69
69
|
.grid__cell.grid__cell--50.grid__cell--33-at-medium.grid__cell--16-at-wide
|
70
|
-
.product-summary.product-summary--small
|
70
|
+
.product-summary.product-summary--small
|
71
71
|
= render 'workarea/storefront/products/summary', product: product
|
@@ -174,7 +174,7 @@
|
|
174
174
|
.grid
|
175
175
|
- @cart.recommendations.each do |product|
|
176
176
|
.grid__cell.grid__cell--50.grid__cell--33-at-medium.grid__cell--16-at-wide
|
177
|
-
.product-summary.product-summary--small
|
177
|
+
.product-summary.product-summary--small
|
178
178
|
= render 'workarea/storefront/products/summary', product: product
|
179
179
|
|
180
180
|
%div{ data: { recommendations_placeholder: recent_views_path } }
|
@@ -3,10 +3,10 @@
|
|
3
3
|
|
4
4
|
- add_css(@category.css)
|
5
5
|
- add_javascript(@category.javascript)
|
6
|
+
- add_head_content(@category.head_content)
|
6
7
|
|
7
8
|
- content_for :head do
|
8
9
|
- cache "#{@category.cache_key}/head", expires_in: Workarea.config.cache_expirations.categories_fragment_cache do
|
9
|
-
%meta{ property: 'recent-view', content: recent_view_content(category_id: @category.id) }
|
10
10
|
%meta{ property: 'global-id', content: @category.to_global_id.to_param }
|
11
11
|
|
12
12
|
- if @category.first_page? && !@category.has_filters?
|
@@ -89,10 +89,11 @@
|
|
89
89
|
.pagination{ data: { analytics: product_list_analytics_data(@category.name).to_json, pagination: pagination_data(@category.products), back_to_top_button: '' } }
|
90
90
|
.grid
|
91
91
|
- @category.products.each_with_index do |product, position|
|
92
|
+
= render_schema_org(product_schema(product))
|
92
93
|
= append_partials('storefront.category_browse_grid_item', product: product, position: position)
|
93
94
|
|
94
95
|
.grid__cell.grid__cell--50.grid__cell--25-at-medium.grid__cell--20-at-wide{ data: { pagination_item: '' } }
|
95
|
-
.product-summary
|
96
|
+
.product-summary
|
96
97
|
= render 'workarea/storefront/products/summary', product: product
|
97
98
|
- if show_pagination?(@category.products)
|
98
99
|
.pagination__button
|
@@ -34,5 +34,5 @@
|
|
34
34
|
%span.button-property__text= t('workarea.storefront.users.sign_up_for_email')
|
35
35
|
%p= button_tag t('workarea.storefront.users.create_account'), value: 'sign_up', class: 'button', data: { disable_with: loading_indicator(t('workarea.storefront.users.create_account_disabled_text')) }
|
36
36
|
|
37
|
-
= render 'workarea/storefront/orders/summary', order: @order, recommendations: @order.recommendations
|
37
|
+
= render 'workarea/storefront/orders/summary', order: @order, recommendations: @order.recommendations
|
38
38
|
= append_partials('storefront.checkout_confirmation')
|
@@ -5,10 +5,12 @@
|
|
5
5
|
%meta{ name: :description, content: @inquiry.meta_description }
|
6
6
|
|
7
7
|
- content_for :breadcrumbs do
|
8
|
+
= render_schema_org(breadcrumb_list_schema([[t('workarea.storefront.layouts.home'), root_url], [@inquiry.title, page_url('inquiry')]]))
|
9
|
+
|
8
10
|
%p.breadcrumbs__node-group
|
9
|
-
%span.breadcrumbs__node
|
11
|
+
%span.breadcrumbs__node
|
10
12
|
= link_to t('workarea.storefront.layouts.home'), root_path, rel: 'home', class: 'breadcrumbs__link'
|
11
|
-
%span.breadcrumbs__node
|
13
|
+
%span.breadcrumbs__node
|
12
14
|
%span.breadcrumbs__text= @inquiry.title
|
13
15
|
|
14
16
|
.view
|
@@ -10,6 +10,7 @@
|
|
10
10
|
- else
|
11
11
|
.grid
|
12
12
|
- products.each do |product|
|
13
|
+
= render_schema_org(product_schema(product))
|
13
14
|
.grid__cell.grid__cell--50.grid__cell--33-at-medium.grid__cell--16-at-wide
|
14
|
-
%div.product-summary.product-summary--small
|
15
|
+
%div.product-summary.product-summary--small
|
15
16
|
= render 'workarea/storefront/products/summary', product: product
|
@@ -5,6 +5,7 @@
|
|
5
5
|
- if view_model.products.present?
|
6
6
|
.grid
|
7
7
|
- view_model.products.each do |product|
|
8
|
+
= render_schema_org(product_schema(product))
|
8
9
|
.grid__cell.grid__cell--50.grid__cell--33-at-medium.grid__cell--16-at-wide
|
9
|
-
.product-summary.product-summary--small
|
10
|
+
.product-summary.product-summary--small
|
10
11
|
= render 'workarea/storefront/products/summary', product: product
|
@@ -5,6 +5,7 @@
|
|
5
5
|
- if products.present?
|
6
6
|
.grid{ data: { analytics: product_list_analytics_data("Custom product list").to_json } }
|
7
7
|
- products.each do |product|
|
8
|
+
= render_schema_org(product_schema(product))
|
8
9
|
.grid__cell.grid__cell--50.grid__cell--33-at-medium.grid__cell--16-at-wide
|
9
|
-
%div.product-summary.product-summary--small
|
10
|
+
%div.product-summary.product-summary--small
|
10
11
|
= render 'workarea/storefront/products/summary', product: product
|
@@ -1,7 +1,9 @@
|
|
1
1
|
= append_partials('storefront.fulfillment_shipped_mailer.top')
|
2
2
|
|
3
|
+
= render_schema_org(fulfillment_email_schema(@order, @package))
|
4
|
+
|
3
5
|
- content_for :preheader_text do
|
4
|
-
= t('workarea.storefront.email.
|
6
|
+
= t('workarea.storefront.email.order_cancellation.heading', order_id: @order.id)
|
5
7
|
|
6
8
|
%tr
|
7
9
|
%td
|
@@ -160,6 +160,12 @@
|
|
160
160
|
%strong= t('workarea.storefront.orders.quantity')
|
161
161
|
%td.align-right= item.quantity
|
162
162
|
|
163
|
+
- if item.token.present?
|
164
|
+
%tr
|
165
|
+
%td= link_to t('workarea.storefront.orders.download'), download_url(item.token)
|
166
|
+
|
167
|
+
= append_partials('storefront.order_summary_item_details', item: item)
|
168
|
+
|
163
169
|
= append_partials('storefront.order_mailer_summary_order_details', item: item)
|
164
170
|
|
165
171
|
- if item.total_adjustments.many?
|
@@ -1,5 +1,8 @@
|
|
1
1
|
= append_partials('storefront.order_confirmation_mailer.top')
|
2
2
|
|
3
|
+
= render_schema_org(email_action_schema(order_url(@order), t('workarea.storefront.email.order_confirmation.email_action.name')))
|
4
|
+
= render_schema_org(order_email_schema(@order))
|
5
|
+
|
3
6
|
- content_for :preheader_text do
|
4
7
|
= @content
|
5
8
|
|
@@ -1,5 +1,8 @@
|
|
1
1
|
= append_partials('storefront.order_reminder_mailer.top')
|
2
2
|
|
3
|
+
= render_schema_org(email_action_schema(resume_cart_url(@order.token), t('workarea.storefront.email.order_reminder.email_action.name'), t('workarea.storefront.email.order_reminder.email_action.description')))
|
4
|
+
= render_schema_org(order_email_schema(@order))
|
5
|
+
|
3
6
|
- content_for :preheader_text do
|
4
7
|
= @content
|
5
8
|
|
@@ -63,6 +63,8 @@
|
|
63
63
|
- item.customizations.each do |name, value|
|
64
64
|
#{name.titleize}: #{value}
|
65
65
|
%br
|
66
|
+
- if item.token&.enabled?
|
67
|
+
= link_to t('workarea.storefront.orders.download'), download_path(item.token)
|
66
68
|
= append_partials('storefront.order_summary_item_details', item: item)
|
67
69
|
|
68
70
|
.grid__cell.grid__cell--25-at-medium
|
@@ -260,7 +262,7 @@
|
|
260
262
|
.grid
|
261
263
|
- recommendations.each do |product|
|
262
264
|
.grid__cell.grid__cell--50.grid__cell--33-at-medium.grid__cell--16-at-wide
|
263
|
-
.product-summary.product-summary--small
|
265
|
+
.product-summary.product-summary--small
|
264
266
|
= render 'workarea/storefront/products/summary', product: product
|
265
267
|
|
266
268
|
%ul.order-help-menu
|
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
- content_for :breadcrumbs do
|
4
4
|
%p.breadcrumbs__node-group
|
5
|
-
%span.breadcrumbs__node
|
5
|
+
%span.breadcrumbs__node
|
6
6
|
= link_to t('workarea.storefront.layouts.home'), root_path, rel: 'home', class: 'breadcrumbs__link'
|
7
|
-
%span.breadcrumbs__node
|
7
|
+
%span.breadcrumbs__node
|
8
8
|
= link_to t('workarea.storefront.orders.order_status'), check_orders_path, class: 'breadcrumbs__link'
|
9
|
-
%span.breadcrumbs__node
|
9
|
+
%span.breadcrumbs__node
|
10
10
|
%span.breadcrumbs__text #{t('workarea.storefront.orders.order')} #{@order.id}
|
11
11
|
|
12
12
|
.view
|
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
- add_css(@page.css)
|
4
4
|
- add_javascript(@page.javascript)
|
5
|
+
- add_head_content(@page.head_content)
|
6
|
+
|
7
|
+
- content_for :breadcrumbs do
|
8
|
+
= render_schema_org(breadcrumb_list_schema([[t('workarea.storefront.layouts.home'), root_url]]))
|
5
9
|
|
6
10
|
- content_for :head do
|
7
11
|
%meta{ property: 'global-id', content: @page.to_global_id.to_param }
|
@@ -3,27 +3,33 @@
|
|
3
3
|
- if product.one_price?
|
4
4
|
%p.product-prices__price
|
5
5
|
- if product.show_sell_range?
|
6
|
-
%span.product-prices__sell-price.product-prices__sell-price--min
|
6
|
+
%span.product-prices__sell-price.product-prices__sell-price--min
|
7
|
+
= number_to_currency(product.sell_min_price)
|
7
8
|
%span.product-prices__sell-price.product-prices__sell-price--max – #{number_to_currency product.sell_max_price}
|
8
9
|
- else
|
9
|
-
%span.product-prices__sell-price
|
10
|
+
%span.product-prices__sell-price
|
11
|
+
= number_to_currency(product.sell_min_price)
|
10
12
|
|
11
13
|
- else
|
12
14
|
- if product.on_sale?
|
13
15
|
%p.product-prices__price.product-prices__price--on-sale
|
14
16
|
- if product.show_sell_range?
|
15
|
-
%strong.product-prices__sell-price.product-prices__sell-price--min
|
17
|
+
%strong.product-prices__sell-price.product-prices__sell-price--min
|
18
|
+
= number_to_currency(product.sell_min_price)
|
16
19
|
%strong.product-prices__sell-price.product-prices__sell-price--max – #{number_to_currency product.sell_max_price}
|
17
20
|
- else
|
18
|
-
%strong.product-prices__sell-price
|
21
|
+
%strong.product-prices__sell-price
|
22
|
+
= number_to_currency(product.sell_min_price)
|
19
23
|
|
20
24
|
- else
|
21
25
|
%p.product-prices__price
|
22
26
|
- if product.show_sell_range?
|
23
|
-
%span.product-prices__sell-price.product-prices__sell-price--min
|
27
|
+
%span.product-prices__sell-price.product-prices__sell-price--min
|
28
|
+
= number_to_currency(product.sell_min_price)
|
24
29
|
%span.product-prices__sell-price.product-prices__sell-price--max – #{number_to_currency product.sell_max_price}
|
25
30
|
- else
|
26
|
-
%span.product-prices__sell-price
|
31
|
+
%span.product-prices__sell-price
|
32
|
+
= number_to_currency(product.sell_min_price)
|
27
33
|
|
28
34
|
%p.product-prices__price.product-prices__price--original
|
29
35
|
- if product.show_original_range?
|
@@ -1,12 +1,12 @@
|
|
1
1
|
- cache "#{product.cache_key}/summary", expires_in: Workarea.config.cache_expirations.product_summary_fragment_cache do
|
2
2
|
%p.product-summary__media
|
3
3
|
= link_to product_path(product, product.browse_link_options), class: 'product-summary__media-link', style: intrinsic_ratio_product_image_styles(product.primary_image), data: { analytics_product_impression: product_impression_data(product), analytics: product_click_analytics_data(product).to_json } do
|
4
|
-
= image_tag(product_image_url(product.primary_image, :large_thumb), alt: product.name,
|
4
|
+
= image_tag(product_image_url(product.primary_image, :large_thumb), alt: product.name, class: 'product-summary__media-image')
|
5
5
|
|
6
6
|
.product-summary__info
|
7
|
-
%p.product-summary__name
|
7
|
+
%p.product-summary__name= link_to product.name, product_path(product, product.browse_link_options), data: { analytics: product_click_analytics_data(product).to_json }
|
8
8
|
|
9
|
-
.product-prices.product-prices--summary
|
9
|
+
.product-prices.product-prices--summary
|
10
10
|
= render 'workarea/storefront/products/pricing', product: product
|
11
11
|
|
12
12
|
= append_partials('storefront.product_summary', product: product)
|
@@ -3,7 +3,6 @@
|
|
3
3
|
|
4
4
|
- content_for :head do
|
5
5
|
- cache "#{@product.cache_key}/head", expires_in: Workarea.config.cache_expirations.product_show_fragment_cache do
|
6
|
-
%meta{ property: 'recent-view', content: recent_view_content(product_id: @product.id) }
|
7
6
|
%meta{ property: 'global-id', content: @product.to_global_id.to_param }
|
8
7
|
= append_partials('storefront.product_head', product: @product)
|
9
8
|
|
@@ -20,8 +19,11 @@
|
|
20
19
|
%meta{ property: 'og:description', content: strip_tags(@product.meta_description) }
|
21
20
|
|
22
21
|
- cache "#{@product.cache_key}/show", expires_in: Workarea.config.cache_expirations.product_show_fragment_cache do
|
22
|
+
|
23
|
+
= render_schema_org(product_schema(@product, related_products: @product.recommendations))
|
24
|
+
|
23
25
|
.view
|
24
|
-
.product-detail-container{
|
26
|
+
.product-detail-container{ data: { analytics: product_view_analytics_data(@product).to_json } }
|
25
27
|
|
26
28
|
.product-details{ class: "product-details--#{@product.template}" }
|
27
29
|
= render "workarea/storefront/products/templates/#{@product.template}", product: @product
|
@@ -29,7 +31,7 @@
|
|
29
31
|
- if @product.description.present?
|
30
32
|
.product-detail-container__description#description
|
31
33
|
%h2.product-detail-container__description-heading= t('workarea.storefront.products.description')
|
32
|
-
.product-detail-container__description-body
|
34
|
+
.product-detail-container__description-body!= @product.description
|
33
35
|
|
34
36
|
= append_partials('storefront.product_description', product: @product)
|
35
37
|
|
@@ -40,7 +42,7 @@
|
|
40
42
|
.grid{ data: { analytics: product_list_analytics_data('Product Recommendations').to_json } }
|
41
43
|
- @product.recommendations.each do |product|
|
42
44
|
.grid__cell.grid__cell--50.grid__cell--33-at-medium.grid__cell--16-at-wide
|
43
|
-
.product-summary.product-summary--small
|
45
|
+
.product-summary.product-summary--small
|
44
46
|
= render 'workarea/storefront/products/summary', product: product
|
45
47
|
|
46
48
|
%div{ data: { recommendations_placeholder: recent_views_path } }
|
@@ -2,12 +2,12 @@
|
|
2
2
|
.grid__cell.grid__cell--60-at-medium
|
3
3
|
|
4
4
|
.product-details__name
|
5
|
-
%h1.product-details__heading
|
5
|
+
%h1.product-details__heading= product.name
|
6
6
|
|
7
7
|
%p.product-details__id
|
8
|
-
%span
|
8
|
+
%span= product.id
|
9
9
|
|
10
|
-
.product-prices.product-prices--details
|
10
|
+
.product-prices.product-prices--details
|
11
11
|
= render 'workarea/storefront/products/pricing', product: product
|
12
12
|
|
13
13
|
= append_partials('storefront.product_pricing_details', product: product)
|
@@ -49,13 +49,13 @@
|
|
49
49
|
|
50
50
|
= append_partials('storefront.product_details', product: product)
|
51
51
|
|
52
|
-
%p.product-details__full-details=link_to t('workarea.storefront.products.view_full_details'), product_path(product, color: params[:color]), class: 'text-button'
|
52
|
+
%p.product-details__full-details=link_to t('workarea.storefront.products.view_full_details'), product_path(product, color: params[:color]), class: 'text-button'
|
53
53
|
|
54
54
|
.grid__cell.grid__cell--40-at-medium
|
55
55
|
|
56
56
|
.product-details__primary-image
|
57
57
|
= link_to(product_image_url(product.primary_image, :zoom), target: '_blank', rel: 'noopener', class: 'product-details__primary-image-link', style: intrinsic_ratio_product_image_styles(product.primary_image), data: { dialog_button: '' }) do
|
58
|
-
= image_tag product_image_url(product.primary_image, :detail), alt: t('workarea.storefront.products.image_alt_attribute', name: product.name),
|
58
|
+
= image_tag product_image_url(product.primary_image, :detail), alt: t('workarea.storefront.products.image_alt_attribute', name: product.name), class: 'product-details__primary-image-link-image'
|
59
59
|
|
60
60
|
- if product.images.length > 1
|
61
61
|
.product-details__alt-images
|
@@ -2,16 +2,14 @@
|
|
2
2
|
.grid__cell.grid__cell--60-at-medium
|
3
3
|
|
4
4
|
.product-details__name
|
5
|
-
%h1.product-details__heading
|
5
|
+
%h1.product-details__heading= product.name
|
6
6
|
|
7
7
|
%p.product-details__id
|
8
|
-
%span
|
8
|
+
%span= product.id
|
9
9
|
|
10
|
-
.product-prices.product-prices--details
|
10
|
+
.product-prices.product-prices--details
|
11
11
|
= render 'workarea/storefront/products/pricing', product: product
|
12
12
|
|
13
|
-
= append_partials('storefront.product_pricing_details', product: product)
|
14
|
-
|
15
13
|
- if product.description.present?
|
16
14
|
.product-details__description
|
17
15
|
%p= truncated_product_description(product, t('workarea.storefront.products.read_more'))
|
@@ -52,13 +50,13 @@
|
|
52
50
|
|
53
51
|
= append_partials('storefront.product_details', product: product)
|
54
52
|
|
55
|
-
%p.product-details__full-details=link_to t('workarea.storefront.products.view_full_details'), product_path(product, color: params[:color]), class: 'text-button'
|
53
|
+
%p.product-details__full-details=link_to t('workarea.storefront.products.view_full_details'), product_path(product, color: params[:color]), class: 'text-button'
|
56
54
|
|
57
55
|
.grid__cell.grid__cell--40-at-medium
|
58
56
|
|
59
57
|
.product-details__primary-image
|
60
58
|
= link_to(product_image_url(product.primary_image, :zoom), target: '_blank', rel: 'noopener', class: 'product-details__primary-image-link', style: intrinsic_ratio_product_image_styles(product.primary_image), data: { dialog_button: '' }) do
|
61
|
-
= image_tag product_image_url(product.primary_image, :detail), alt: t('workarea.storefront.products.image_alt_attribute', name: product.name),
|
59
|
+
= image_tag product_image_url(product.primary_image, :detail), alt: t('workarea.storefront.products.image_alt_attribute', name: product.name), class: 'product-details__primary-image-link-image'
|
62
60
|
|
63
61
|
- if product.images.length > 1
|
64
62
|
.product-details__alt-images
|
@@ -2,16 +2,14 @@
|
|
2
2
|
.grid__cell.grid__cell--60-at-medium
|
3
3
|
|
4
4
|
.product-details__name
|
5
|
-
%h1.product-details__heading
|
5
|
+
%h1.product-details__heading= product.name
|
6
6
|
|
7
7
|
%p.product-details__id
|
8
|
-
%span
|
8
|
+
%span= product.id
|
9
9
|
|
10
|
-
.product-prices.product-prices--details
|
10
|
+
.product-prices.product-prices--details
|
11
11
|
= render 'workarea/storefront/products/pricing', product: product
|
12
12
|
|
13
|
-
= append_partials('storefront.product_pricing_details', product: product)
|
14
|
-
|
15
13
|
- if product.description.present?
|
16
14
|
.product-details__description
|
17
15
|
%p= truncated_product_description(product, t('workarea.storefront.products.read_more'))
|
@@ -58,13 +56,13 @@
|
|
58
56
|
|
59
57
|
= append_partials('storefront.product_details', product: product)
|
60
58
|
|
61
|
-
%p.product-details__full-details=link_to t('workarea.storefront.products.view_full_details'), product_path(product, color: params[:color]), class: 'text-button'
|
59
|
+
%p.product-details__full-details=link_to t('workarea.storefront.products.view_full_details'), product_path(product, color: params[:color]), class: 'text-button'
|
62
60
|
|
63
61
|
.grid__cell.grid__cell--40-at-medium
|
64
62
|
|
65
63
|
.product-details__primary-image
|
66
64
|
= link_to(product_image_url(product.primary_image, :zoom), target: '_blank', rel: 'noopener', class: 'product-details__primary-image-link', style: intrinsic_ratio_product_image_styles(product.primary_image), data: { dialog_button: '' }) do
|
67
|
-
= image_tag product_image_url(product.primary_image, :detail), alt: t('workarea.storefront.products.image_alt_attribute', name: product.name),
|
65
|
+
= image_tag product_image_url(product.primary_image, :detail), alt: t('workarea.storefront.products.image_alt_attribute', name: product.name), class: 'product-details__primary-image-link-image'
|
68
66
|
|
69
67
|
- if product.images.length > 1
|
70
68
|
.product-details__alt-images
|