Commit 049aace8 authored by Gorodkov Denis's avatar Gorodkov Denis

commerce

parent 733e96df
......@@ -13,7 +13,7 @@ _core:
id: DrupalJedi_account_menu
theme: DrupalJedi
region: navigation_collapsible
weight: 11
weight: -7
provider: null
plugin: 'system_menu_block:account'
settings:
......
......@@ -11,7 +11,7 @@ _core:
id: DrupalJedi_content
theme: DrupalJedi
region: content
weight: 0
weight: -8
provider: null
plugin: system_main_block
settings:
......
uuid: e83c0eda-fb99-4744-bb43-34ed92f4fc61
langcode: en
status: true
status: false
dependencies:
config:
- system.menu.footer
......
......@@ -13,7 +13,7 @@ _core:
id: DrupalJedi_main_menu
theme: DrupalJedi
region: navigation_collapsible
weight: 10
weight: -8
provider: null
plugin: 'system_menu_block:main'
settings:
......
uuid: 6dfaada7-7f71-4c63-8d0d-ba33672b3800
langcode: en
status: true
status: false
dependencies:
module:
- system
......
uuid: bf8338d1-b5c5-4786-86a1-a7414dc95042
langcode: en
status: true
dependencies:
module:
- commerce_cart
theme:
- DrupalJedi
id: cart
theme: DrupalJedi
region: navigation_collapsible
weight: -6
provider: null
plugin: commerce_cart
settings:
id: commerce_cart
label: Cart
label_display: visible
provider: commerce_cart
dropdown: true
visibility: { }
uuid: 7c34fc99-9d8f-4d4b-a2ef-1ea7bf027ae0
langcode: en
status: false
dependencies:
module:
- mymodule
theme:
- DrupalJedi
id: helloblock
theme: DrupalJedi
region: content
weight: 0
provider: null
plugin: test_context_definition
settings:
id: test_context_definition
label: 'Hello block'
label_display: '0'
provider: mymodule
context_mapping:
node: '@node.node_route_context:node'
term: '@taxonomy_term.taxonomy_term_route_context:taxonomy_term'
visibility: { }
uuid: f34c057c-dc17-4395-a83b-bda9d7da3bec
uuid: 4239dfd8-a503-4e50-9d05-7874b9a36871
langcode: en
status: true
dependencies:
module:
- mymodule
- custom_commerce
- node
theme:
- bartik
id: products
id: productssyggest
theme: bartik
region: content
weight: -5
weight: 0
provider: null
plugin: mymodule_products_suggest
plugin: custom_commerce_product_suggest
settings:
id: mymodule_products_suggest
label: 'Ещё товары'
id: custom_commerce_product_suggest
label: 'Products suggest'
label_display: visible
provider: mymodule
provider: custom_commerce
context_mapping:
node: '@node.node_route_context:node'
visibility:
'entity_bundle:node':
id: 'entity_bundle:node'
......
uuid: 14bcb14e-1358-45ff-8618-e128abc808d4
langcode: en
status: false
dependencies:
module:
- mymodule
theme:
- bartik
id: testblockwithcontext_definition
theme: bartik
region: header
weight: -10
provider: null
plugin: test_context_definition
settings:
id: test_context_definition
label: 'Test block with context_definition'
label_display: visible
provider: mymodule
context_mapping: { }
visibility: { }
uuid: 5b4b2caf-e63e-4780-ac83-aabeeefa099b
langcode: en
status: true
dependencies:
module:
- commerce_payment
- commerce_promotion
- commerce_shipping
label: 'Custom checkout'
id: custom_checkout
plugin: multistep_default
configuration:
display_checkout_progress: true
display_checkout_progress_breadcrumb_links: true
panes:
login:
step: login
weight: 0
allow_guest_checkout: true
allow_registration: false
contact_information:
step: order_information
weight: 1
double_entry: false
payment_information:
step: order_information
weight: 2
shipping_information:
step: order_information
weight: 3
auto_recalculate: true
require_shipping_profile: true
review:
step: review
weight: 4
payment_process:
step: payment
weight: 5
capture: true
completion_register:
step: complete
weight: 6
completion_message:
step: complete
weight: 7
message:
value: "Your order number is [commerce_order:order_number].\r\nYou can view your order on your account page when logged in."
format: plain_text
order_summary:
step: _sidebar
weight: 8
view: ''
coupon_redemption:
step: _sidebar
weight: 9
allow_multiple: false
uuid: e2904ffb-e018-4107-940e-a101cdee2d25
langcode: en
status: true
dependencies: { }
dependencies:
module:
- commerce_payment
- commerce_promotion
- commerce_shipping
_core:
default_config_hash: 5BYvSDemm8xYwB9rMGFuEuGK6FxVheqtXEUxnpKO2N4
id: default
label: Default
id: default
plugin: multistep_default
configuration:
display_checkout_progress: true
display_checkout_progress_breadcrumb_links: false
display_checkout_progress_breadcrumb_links: true
panes:
login:
allow_guest_checkout: true
allow_registration: false
step: login
weight: 0
allow_guest_checkout: true
allow_registration: false
contact_information:
double_entry: true
step: order_information
weight: 1
billing_information:
step: order_information
weight: 2
double_entry: true
review:
step: review
weight: 3
payment_process:
step: payment
weight: 4
capture: true
completion_message:
step: complete
weight: 5
message:
value: "Your order number is [commerce_order:order_number].\r\nYou can view your order on your account page when logged in."
format: plain_text
completion_register:
step: complete
weight: 4
weight: 6
shipping_information:
step: order_information
weight: 2
auto_recalculate: false
require_shipping_profile: false
order_summary:
step: _sidebar
weight: 7
view: null
coupon_redemption:
step: _sidebar
weight: 5
weight: 8
allow_multiple: false
payment_information:
step: _disabled
weight: 9
uuid: eb363fa1-0b78-4ed5-a10e-93068c8db2d6
langcode: en
status: true
dependencies: { }
dependencies:
module:
- commerce_cart
- commerce_checkout
- commerce_shipping
third_party_settings:
commerce_cart:
cart_block_view: commerce_cart_block
cart_form_view: commerce_cart_form
cart_expiration: { }
commerce_checkout:
checkout_flow: custom_checkout
commerce_shipping:
shipment_type: custom_shipment_type
_core:
default_config_hash: bROz7kd1J83kDf06qdZztYFSezi6UrfwftyJo53rNt4
label: Default
id: default
workflow: order_default
label: Default
traits: { }
locked: false
workflow: order_fulfillment_validation
numberPattern: order_default
refresh_mode: customer
refresh_frequency: 300
sendReceipt: true
receiptBcc: ''
traits: { }
locked: false
uuid: c9f3b6a8-c44d-47f1-991a-a3358c9eb8ff
langcode: en
status: true
dependencies: { }
id: payment_gateways_1
label: 'Payment gateways#1'
weight: null
plugin: manual
configuration:
display_label: Manual
mode: n/a
payment_method_types:
- credit_card
collect_billing_information: true
instructions:
value: ''
format: plain_text
conditions: { }
conditionOperator: AND
uuid: 498bb7fd-2c88-44b9-b643-a6c8a7f2c2fd
langcode: en
status: true
dependencies: { }
_core:
default_config_hash: hwJoqnxqBS0fPM3s6FccZ2bWaq9LneRYLzFk-wlJWjs
id: default
label: Default
description: ''
variationType: default
variationTypes:
- default
multipleVariations: true
injectVariationFields: true
traits: { }
locked: false
......@@ -3,7 +3,7 @@ langcode: en
status: true
dependencies: { }
id: t_shirt
label: T-shirt
label: Футболки
traits: { }
locked: false
description: ''
......
......@@ -3,8 +3,9 @@ langcode: en
status: true
dependencies: { }
id: t_shirt
label: T-shirt
traits: { }
label: 'Size variations'
traits:
- purchasable_entity_shippable
locked: false
orderItemType: default
generateTitle: null
generateTitle: false
uuid: 1a533f7e-a2a5-45f5-a95a-4a42c7a6b30e
langcode: en
status: true
dependencies: { }
id: custom_shipment_type
label: 'Custom shipment type'
traits: { }
profileType: customer
sendConfirmation: false
confirmationBcc: ''
uuid: e79bb664-a730-441f-825c-9beba87de315
uuid: a44c745c-cde0-4fc7-9b9d-a37fd8c97912
langcode: en
status: true
dependencies: { }
_core:
default_config_hash: 3vA4FKQ1Qu8B1R8UdGPnmMfJrYO6Y6uMqeNgDgXxods
default_config_hash: q7uorX1KJg8tf7PBrSSy45-t6FB9Cqw-gsjr7Yn1ueU
id: default
label: Default
orderItemType: default
generateTitle: true
profileType: customer
traits: { }
locked: false
sendConfirmation: null
confirmationBcc: null
core_stock_events_order_complete_event_type: placed
core_stock_events_order_cancel: false
core_stock_events_order_updates: false
default_service_id: local_stock
stock_events_plugin_id: core_stock_events
commerce_product_variation_t_shirt_service_id: local_stock
_core:
default_config_hash: Z6_rCZGnc7jUv5OAhbf5ikY31cL0Y23nYEeBV7COHPA
insufficient_stock_cart: 'The maximum quantity for %name that can be ordered is %qty.'
insufficient_stock_add_to_cart_zero_in_cart: 'Sorry, we only have %qty in stock and you''ve asked for %qty_asked.'
insufficient_stock_add_to_cart_quantity_in_cart: 'Sorry, we only have %qty in stock and you already added %qty_o to your cart.'
uuid: 5164882b-2323-44c6-b5d3-92ee67066c11
langcode: en
status: true
dependencies: { }
_core:
default_config_hash: U5VlGjd_SfV0Qm_EfnaynOfc549cNscFAx48JfYoMRI
id: default
label: Default
uuid: 50c0421f-dd09-43ef-a1e6-6f3e33ba21a6
uuid: d5f9f8e1-dc2e-4e8e-a155-792c72c48c85
langcode: en
status: true
dependencies: { }
id: color
label: Color
elementType: select
id: stocklocationtype_1
label: 'StockLocationType#1'
uuid: 0e9d0a56-6df4-40ff-8c48-210802beecec
langcode: en
status: true
dependencies: { }
id: stocklocationtype_2
label: 'StockLocationType#2'
_core:
default_config_hash: NtOb2WwPDNGULCGLk1o00bMIcHZt2oWdR96ETB31Q8w
update_interval: 3600
update_batch_size: 50
cron_run_mode: optimal
_core:
default_config_hash: IH1rE_cFWMPS-lSEgCGhEXNx4SuN11jYD4hFWcmKzq8
transactions_aggregation_mode: cron
transactions_retention: keep
......@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- commerce_order.commerce_order_type.default
- field.field.commerce_order.default.shipments
module:
- commerce_order
- inline_entity_form
......@@ -17,33 +18,45 @@ content:
adjustments:
type: commerce_adjustment_default
weight: 2
region: content
settings: { }
third_party_settings: { }
region: content
billing_profile:
type: commerce_billing_profile
weight: 0
region: content
settings: { }
third_party_settings: { }
cart:
type: boolean_checkbox
weight: 3
region: content
settings:
display_label: true
third_party_settings: { }
order_items:
type: inline_entity_form_complex
weight: 1
region: content
settings:
form_mode: default
override_labels: true
label_singular: 'order item'
label_plural: 'order items'
allow_new: true
match_operator: CONTAINS
allow_existing: false
form_mode: default
match_operator: CONTAINS
allow_duplicate: false
collapsible: false
collapsed: false
revision: false
third_party_settings: { }
region: content
hidden:
created: true
ip_address: true
mail: true
order_number: true
shipments: true
state: true
store_id: true
uid: true
......@@ -4,27 +4,40 @@ status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.t_shirt
- field.field.commerce_product_variation.t_shirt.attribute_color
- field.field.commerce_product_variation.t_shirt.attribute_size
- field.field.commerce_product_variation.t_shirt.field_stock_level
- field.field.commerce_product_variation.t_shirt.weight
module:
- commerce_price
- commerce_stock_field
- physical
id: commerce_product_variation.t_shirt.default
targetEntityType: commerce_product_variation
bundle: t_shirt
mode: default
content:
attribute_color:
type: options_select
weight: 2
region: content
settings: { }
third_party_settings: { }
attribute_size:
type: options_select
weight: 1
region: content
settings: { }
third_party_settings: { }
commerce_stock_always_in_stock:
type: boolean_checkbox
weight: 5
region: content
settings:
display_label: true
third_party_settings: { }
field_stock_level:
type: commerce_stock_level_simple_transaction
weight: 92
region: content
settings:
step: '1'
custom_transaction_note: false
default_transaction_note: 'Transaction issued by stock level field.'
third_party_settings: { }
langcode:
type: language_select
weight: 2
......@@ -67,6 +80,14 @@ content:
size: 60
placeholder: ''
third_party_settings: { }
weight:
type: physical_measurement_default
weight: 91
region: content
settings:
default_unit: ''
allow_unit_change: true
third_party_settings: { }
hidden:
created: true
uid: true
uuid: c6f18e0d-f785-4d85-91a7-df1f35bbfec5
langcode: en
status: true
dependencies:
config:
- commerce_shipping.commerce_shipment_type.custom_shipment_type
- field.field.commerce_shipment.custom_shipment_type.field_address
- field.field.commerce_shipment.custom_shipment_type.field_available_stock_locations
module:
- commerce_shipping
id: commerce_shipment.custom_shipment_type.default
targetEntityType: commerce_shipment
bundle: custom_shipment_type
mode: default
content:
field_address:
type: string_textfield
weight: 2
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
field_available_stock_locations:
type: options_select
weight: 4
region: content
settings: { }
third_party_settings: { }
shipping_method:
type: commerce_shipping_rate
weight: 0
region: content
settings: { }
third_party_settings: { }
shipping_profile:
type: commerce_shipping_profile
weight: 1
region: content
settings: { }
third_party_settings: { }
hidden:
state: true
title: true
tracking_code: true
weight: true
uuid: 6ee1e9b0-81f8-4454-92ad-51ffeb8fbb6e
langcode: en
status: true
dependencies:
config:
- commerce_shipping.commerce_shipment_type.default
- core.entity_form_mode.commerce_shipment.checkout
- field.field.commerce_shipment.default.field_address
module:
- commerce_shipping
- entity_reference_revisions
_core:
default_config_hash: v-LWAtBhcDwpE5HlNPuwiNt7obeZPHwidGUYb_wnkQY
id: commerce_shipment.default.checkout
targetEntityType: commerce_shipment
bundle: default
mode: checkout
content:
shipping_method:
type: commerce_shipping_rate
weight: 1
region: content
settings: { }
third_party_settings: { }
shipping_profile:
type: entity_reference_revisions_autocomplete
weight: 0
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
hidden:
field_address: true
state: true
title: true
tracking_code: true
weight: true
uuid: f2efe477-b3e0-4777-88f8-11874e45aac6
uuid: d75dad80-61bb-44b9-83e8-20c963bd1e0b
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.default
- commerce_shipping.commerce_shipment_type.default
- field.field.commerce_shipment.default.field_address
module:
- commerce_price
_core:
default_config_hash: dDLA40Axom_QFA79EWUpe_bWXWE8I_7MijzPkslbVfA
id: commerce_product_variation.default.default
targetEntityType: commerce_product_variation
- commerce_shipping
id: commerce_shipment.default.default
targetEntityType: commerce_shipment
bundle: default
mode: default
content:
langcode:
type: language_select
shipping_method:
type: commerce_shipping_rate
weight: 2
region: content
settings:
include_locked: true
third_party_settings: { }
list_price:
type: commerce_list_price
weight: -1
region: content
settings: { }
third_party_settings: { }
price:
type: commerce_price_default
weight: 0
shipping_profile:
type: commerce_shipping_profile
weight: 1
region: content
settings: { }
third_party_settings: { }
sku:
title:
type: string_textfield
weight: -4
weight: 0
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
status:
type: boolean_checkbox
weight: 10
tracking_code:
type: string_textfield
weight: 3
region: content
settings:
display_label: true
size: 60
placeholder: ''
third_party_settings: { }
hidden:
created: true
uid: true
field_address: true
state: true
weight: true
......@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- commerce_store.commerce_store_type.online
- field.field.commerce_store.online.field_available_stock_locations
module:
- address
- path
......@@ -16,28 +17,34 @@ mode: default
content:
address:
type: address_default
settings: { }
weight: 4
weight: 5
region: content
settings: { }
third_party_settings: { }
billing_countries:
type: options_select
weight: 5
weight: 6
region: content
settings: { }
third_party_settings: { }
default_currency:
type: options_select
weight: 2
weight: 3
region: content
settings: { }
third_party_settings: { }
field_available_stock_locations:
type: options_select
weight: 11
region: content
settings: { }
third_party_settings: { }
is_default:
type: boolean_checkbox
weight: 10
region: content
settings:
display_label: true
weight: 9
region: content
third_party_settings: { }
langcode:
type: language_select
......@@ -51,8 +58,8 @@ content:
weight: 1
region: content
settings:
size: 60
placeholder: ''
size: 60
third_party_settings: { }
name:
type: string_textfield
......@@ -64,26 +71,32 @@ content:
third_party_settings: { }
path:
type: path
weight: 8
weight: 9
region: content
settings: { }
third_party_settings: { }
prices_include_tax:
type: boolean_checkbox
weight: 7
region: content
settings:
display_label: true
weight: 6
third_party_settings: { }
shipping_countries:
type: options_select
weight: 4
region: content
settings: { }
third_party_settings: { }
tax_registrations:
type: options_select
weight: 7
weight: 8
region: content
settings: { }
third_party_settings: { }
timezone:
type: options_select
weight: 3
weight: 4
region: content
settings: { }
third_party_settings: { }
......
......@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- field.field.node.product.field_description
- field.field.node.product.field_media
- node.type.product
module:
- path
......@@ -27,6 +28,12 @@ content:
rows: 5
placeholder: ''
third_party_settings: { }
field_media:
type: options_select
weight: 122
region: content
settings: { }
third_party_settings: { }
langcode:
type: language_select
weight: 2
......
uuid: 48c0a6a4-e0f2-4511-864b-307efcf8266e
langcode: en
status: true
dependencies:
module:
- commerce_shipping
_core:
default_config_hash: SOM4LMI0fFeahHJLPEPoVldiWGePCGwhTERi0cTjb0U
id: commerce_shipment.checkout
label: Checkout
targetEntityType: commerce_shipment
cache: true
uuid: d6c38ec5-037f-44f2-9daa-96e331088a8f
langcode: en
status: true
dependencies:
module:
- profile
enforced:
module:
- commerce_shipping
_core:
default_config_hash: JPUL4eD5T2YoK0l8mg_Ey9_HY9vGRwqr4BM_GqaAgmw
id: profile.shipping
label: Shipping
targetEntityType: profile
cache: true
......@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- commerce_order.commerce_order_type.default
- field.field.commerce_order.default.shipments
module:
- commerce_order
- commerce_price
......@@ -18,91 +19,92 @@ mode: default
content:
balance:
type: commerce_price_default
weight: 9
region: content
label: inline
settings:
strip_trailing_zeroes: false
currency_display: symbol
third_party_settings: { }
weight: 9
region: content
changed:
type: timestamp
weight: 4
label: inline
settings:
date_format: short
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 4
region: content
completed:
label: inline
type: timestamp
weight: 2
label: inline
settings:
date_format: short
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 2
region: content
ip_address:
label: inline
type: string
weight: 7
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 7
region: content
mail:
label: inline
type: basic_string
weight: 6
label: inline
settings: { }
third_party_settings: { }
weight: 6
region: content
order_items:
type: commerce_order_item_table
weight: 0
label: hidden
settings: { }
third_party_settings: { }
label: hidden
weight: 0
region: content
placed:
label: inline
type: timestamp
weight: 3
label: inline
settings:
date_format: short
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 3
region: content
state:
label: hidden
type: state_transition_form
weight: 8
label: hidden
settings:
require_confirmation: true
use_modal: true
third_party_settings: { }
weight: 8
region: content
total_price:
type: commerce_order_total_summary
weight: 1
label: hidden
settings: { }
third_party_settings: { }
label: hidden
weight: 1
region: content
uid:
label: inline
type: author
weight: 5
label: inline
settings: { }
third_party_settings: { }
weight: 5
region: content
hidden:
billing_profile: true
order_number: true
search_api_excerpt: true
shipments: true
store_id: true
total_paid: true
......@@ -5,8 +5,10 @@ dependencies:
config:
- commerce_order.commerce_order_type.default
- core.entity_view_mode.commerce_order.user
- field.field.commerce_order.default.shipments
module:
- commerce_order
- commerce_price
- entity_reference_revisions
- options
_core:
......@@ -18,74 +20,77 @@ mode: user
content:
billing_profile:
type: entity_reference_revisions_entity_view
weight: 0
label: above
settings:
view_mode: default
link: ''
third_party_settings: { }
weight: 1
region: content
completed:
label: inline
type: timestamp
weight: 2
label: inline
settings:
date_format: short
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 3
region: content
mail:
label: inline
type: basic_string
weight: 1
label: inline
settings: { }
third_party_settings: { }
weight: 2
region: content
order_items:
type: commerce_order_item_table
weight: 5
label: hidden
settings: { }
third_party_settings: { }
label: hidden
weight: 6
region: content
order_number:
type: string
weight: 0
label: inline
settings:
link_to_entity: false
third_party_settings: { }
weight: 0
region: content
placed:
label: inline
type: timestamp
weight: 3
label: inline
settings:
date_format: short
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 4
region: content
state:
type: list_default
weight: 4
label: inline
settings: { }
third_party_settings: { }
weight: 5
region: content
total_price:
type: commerce_order_total_summary
weight: 6
settings: { }
type: commerce_price_default
label: above
settings:
strip_trailing_zeroes: false
currency_display: symbol
third_party_settings: { }
label: hidden
weight: 7
region: content
hidden:
balance: true
changed: true
ip_address: true
search_api_excerpt: true
shipments: true
store_id: true
total_paid: true
uid: true
......@@ -17,52 +17,52 @@ bundle: default
mode: default
content:
created:
label: hidden
type: timestamp
weight: 0
region: content
label: hidden
settings:
date_format: medium
custom_date_format: ''
timezone: ''
third_party_settings: { }
weight: 0
region: content
purchased_entity:
type: entity_reference_entity_view
weight: 0
label: above
settings:
view_mode: default
link: false
third_party_settings: { }
label: above
weight: 0
region: content
quantity:
type: number_decimal
weight: 1
label: above
settings:
thousand_separator: ''
decimal_separator: .
scale: 2
prefix_suffix: true
third_party_settings: { }
label: above
weight: 1
region: content
total_price:
type: commerce_price_default
weight: 3
label: above
settings:
strip_trailing_zeroes: false
currency_display: symbol
third_party_settings: { }
label: above
weight: 3
region: content
unit_price:
type: commerce_price_default
weight: 2
label: above
settings:
strip_trailing_zeroes: false
currency_display: symbol
third_party_settings: { }
label: above
weight: 2
region: content
hidden:
adjustments: true
......
......@@ -7,30 +7,19 @@ dependencies:
- field.field.commerce_product.t_shirt.field_node
module:
- commerce_product
- layout_builder
third_party_settings:
layout_builder:
enabled: false
allow_custom: false
id: commerce_product.t_shirt.default
targetEntityType: commerce_product
bundle: t_shirt
mode: default
content:
field_node:
type: entity_reference_label
label: above
settings:
link: true
third_party_settings: { }
weight: 3
region: content
stores:
type: entity_reference_label
label: above
settings:
link: true
third_party_settings: { }
weight: 2
region: content
title:
type: string
label: hidden
label: above
settings:
link_to_entity: false
third_party_settings: { }
......@@ -38,7 +27,7 @@ content:
region: content
variations:
type: commerce_add_to_cart
label: above
label: hidden
settings:
combine: true
third_party_settings: { }
......@@ -46,6 +35,8 @@ content:
region: content
hidden:
created: true
field_node: true
langcode: true
search_api_excerpt: true
stores: true
uid: true
uuid: 3270aa4f-ddce-4ea3-a606-deba45435cd4
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.default
- core.entity_view_mode.commerce_product_variation.cart
module:
- layout_builder
enforced:
module:
- commerce_cart
- commerce_product
third_party_settings:
layout_builder:
enabled: false
allow_custom: false
_core:
default_config_hash: 6GpSQzJM6086KplhyiaTF3ezvQ_ecs8bIcW4GQMzrJU
id: commerce_product_variation.default.cart
targetEntityType: commerce_product_variation
bundle: default
mode: cart
content: { }
hidden:
langcode: true
list_price: true
price: true
product_id: true
search_api_excerpt: true
sku: true
title: true
uuid: 5748c2cd-31da-4d14-9bbe-d02a01851986
uuid: 4edeec8c-49c2-4bca-8692-17b21661073f
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.default
- core.entity_view_mode.commerce_product_variation.summary
- commerce_product.commerce_product_variation_type.t_shirt
- field.field.commerce_product_variation.t_shirt.attribute_size
- field.field.commerce_product_variation.t_shirt.field_stock_level
- field.field.commerce_product_variation.t_shirt.weight
module:
- commerce_price
enforced:
module:
- commerce_checkout
_core:
default_config_hash: jmDRQILFIWJUS3jS-qLF10aGc1IXnvFEBizwJl94FfU
id: commerce_product_variation.default.summary
- commerce_stock_field
id: commerce_product_variation.t_shirt.default
targetEntityType: commerce_product_variation
bundle: default
mode: summary
bundle: t_shirt
mode: default
content:
field_stock_level:
type: commerce_stock_level_simple
label: above
settings: { }
third_party_settings: { }
weight: 1
region: content
list_price:
type: commerce_price_default
label: above
......@@ -26,24 +31,20 @@ content:
third_party_settings: { }
weight: -1
region: content
product_id:
type: entity_reference_label
label: hidden
price:
type: commerce_price_default
label: above
settings:
link: true
strip_trailing_zeroes: false
currency_display: symbol
third_party_settings: { }
weight: 0
region: content
title:
type: string
label: hidden
settings:
link_to_entity: false
third_party_settings: { }
weight: -5
region: content
hidden:
attribute_size: true
langcode: true
price: true
product_id: true
search_api_excerpt: true
sku: true
title: true
weight: true
uuid: ce31d71c-23e2-4e12-afd3-75fb9fe9d9d3
langcode: en
status: true
dependencies:
config:
- commerce_shipping.commerce_shipment_type.custom_shipment_type
- field.field.commerce_shipment.custom_shipment_type.field_address
- field.field.commerce_shipment.custom_shipment_type.field_available_stock_locations
module:
- commerce_shipping
- state_machine
id: commerce_shipment.custom_shipment_type.default
targetEntityType: commerce_shipment
bundle: custom_shipment_type
mode: default
content:
field_address:
type: string
label: above
settings:
link_to_entity: false
third_party_settings: { }
weight: 2
region: content
field_available_stock_locations:
type: entity_reference_label
label: above
settings:
link: true
third_party_settings: { }
weight: 4
region: content
shipping_method:
type: commerce_shipping_method
label: above
settings: { }
third_party_settings: { }
weight: 0
region: content
state:
type: state_transition_form
label: hidden
settings:
require_confirmation: true
use_modal: true
third_party_settings: { }
weight: 1
region: content
hidden:
amount: true
items: true
original_amount: true
package_type: true
search_api_excerpt: true
shipping_profile: true
title: true
tracking_code: true
weight: true
uuid: d515a8fc-1b96-4b45-af5b-39c3b5af5e94
langcode: en
status: true
dependencies:
config:
- commerce_shipping.commerce_shipment_type.default
- core.entity_view_mode.commerce_shipment.checkout
- field.field.commerce_shipment.default.field_address
module:
- commerce_shipping
_core:
default_config_hash: 2JBHZzeo3LK-Qh-kgIGPCI0ynnd84J6lc6L04-uV5Jc
id: commerce_shipment.default.checkout
targetEntityType: commerce_shipment
bundle: default
mode: checkout
content:
field_address:
type: string
label: above
settings:
link_to_entity: false
third_party_settings: { }
weight: 1
region: content
shipping_method:
type: commerce_shipping_method
label: above
settings: { }
third_party_settings: { }
weight: 0
region: content
hidden:
amount: true
items: true
original_amount: true
package_type: true
search_api_excerpt: true
shipping_profile: true
state: true
title: true
tracking_code: true
weight: true
uuid: 63f58b95-b59b-4e05-8fa2-df749717ed9b
uuid: ffd1b689-f29b-42ac-8ac9-c1b791aaed19
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_type.default
- field.field.commerce_product.default.field_product
- commerce_shipping.commerce_shipment_type.default
- field.field.commerce_shipment.default.field_address
module:
- commerce
- path
- commerce_price
- commerce_shipping
- entity_reference_revisions
- state_machine
_core:
default_config_hash: bVqhDE0CBvUi4RPHqKu4sBhUOUwOTgcHVhn5PkfngLU
id: commerce_product.default.default
targetEntityType: commerce_product
default_config_hash: hIwmDy-Bge0z2nIR2MUruBzjfF2IwcLl1wwY7xVdJbo
id: commerce_shipment.default.default
targetEntityType: commerce_shipment
bundle: default
mode: default
content:
created:
type: datetime_timestamp
amount:
type: commerce_price_default
label: above
settings:
strip_trailing_zeroes: false
currency_display: symbol
third_party_settings: { }
weight: 5
region: content
settings: { }
field_address:
type: string
label: above
settings:
link_to_entity: false
third_party_settings: { }
field_product:
type: entity_reference_autocomplete
weight: 9
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
items:
type: commerce_shipment_item_table
label: hidden
settings: { }
third_party_settings: { }
langcode:
type: language_select
weight: 2
weight: 1
region: content
package_type:
type: string
label: above
settings:
include_locked: true
link_to_entity: false
third_party_settings: { }
path:
type: path
weight: 7
weight: 2
region: content
shipping_method:
type: commerce_shipping_method
label: above
settings: { }
third_party_settings: { }
status:
type: boolean_checkbox
weight: 8
weight: 4
region: content
shipping_profile:
type: entity_reference_revisions_entity_view
label: above
settings:
display_label: true
view_mode: default
link: ''
third_party_settings: { }
stores:
type: commerce_entity_select
weight: 0
weight: 3
region: content
state:
type: state_transition_form
label: hidden
settings:
hide_single_entity: true
autocomplete_threshold: 7
autocomplete_size: 60
autocomplete_placeholder: ''
require_confirmation: true
use_modal: true
third_party_settings: { }
title:
type: string_textfield
weight: 1
weight: 7
region: content
title:
type: string
label: hidden
settings:
size: 60
placeholder: ''
link_to_entity: false
third_party_settings: { }
uid:
type: entity_reference_autocomplete
weight: 4
weight: 0
region: content
tracking_code:
type: string
label: above
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
link_to_entity: false
third_party_settings: { }
weight: 6
region: content
hidden:
variations: true
original_amount: true
search_api_excerpt: true
weight: true
uuid: 996f4011-bf0a-4454-b32b-147ecfc7b42d
uuid: 4eb96a41-dedc-4554-b08d-163ea082ff7c
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_type.default
- field.field.commerce_product.default.field_product
- commerce_shipping.commerce_shipment_type.default
- core.entity_view_mode.commerce_shipment.user
- field.field.commerce_shipment.default.field_address
module:
- commerce_product
- commerce_shipping
_core:
default_config_hash: 10qgl6V_HwkrJufzsNCV75OpqOeMzzKDJb3BhaogmzQ
id: commerce_product.default.default
targetEntityType: commerce_product
default_config_hash: _aTxdvXljvuXCB4wfNW8kQtUas_BE-_VmFH8lzSAJ7E
id: commerce_shipment.default.user
targetEntityType: commerce_shipment
bundle: default
mode: default
mode: user
content:
field_product:
type: entity_reference_label
field_address:
type: string
label: above
settings:
link: true
link_to_entity: false
third_party_settings: { }
weight: 2
weight: 1
region: content
title:
type: string
label: hidden
settings:
link_to_entity: false
shipping_method:
type: commerce_shipping_method
label: above
settings: { }
third_party_settings: { }
weight: -5
weight: 0
region: content
variations:
type: commerce_add_to_cart
tracking_code:
type: commerce_tracking_link
label: hidden
settings:
show_quantity: false
default_quantity: '1'
combine: true
settings: { }
third_party_settings: { }
weight: 1
weight: 2
region: content
hidden:
created: true
langcode: true
amount: true
items: true
original_amount: true
package_type: true
search_api_excerpt: true
stores: true
uid: true
shipping_profile: true
shipping_service: true
state: true
title: true
weight: true
......@@ -4,6 +4,7 @@ status: true
dependencies:
config:
- commerce_store.commerce_store_type.online
- field.field.commerce_store.online.field_available_stock_locations
module:
- address
_core:
......@@ -15,10 +16,18 @@ mode: default
content:
address:
type: address_default
weight: 1
label: above
settings: { }
third_party_settings: { }
weight: 1
region: content
field_available_stock_locations:
type: entity_reference_label
label: above
settings:
link: true
third_party_settings: { }
weight: 2
region: content
hidden:
billing_countries: true
......@@ -28,6 +37,9 @@ hidden:
langcode: true
mail: true
name: true
prices_include_tax: true
search_api_excerpt: true
shipping_countries: true
tax_registrations: true
timezone: true
uid: true
......@@ -4,10 +4,65 @@ status: true
dependencies:
config:
- field.field.node.product.field_description
- field.field.node.product.field_media
- image.style.large
- node.type.product
module:
- layout_builder
- media
- text
- user
third_party_settings:
layout_builder:
enabled: true
allow_custom: false
sections:
-
layout_id: layout_twocol_section
layout_settings:
label: 'Main content'
context_mapping: { }
column_widths: 50-50
components:
ddf35892-9882-4a3e-b8df-ff60c0cfb0f7:
uuid: ddf35892-9882-4a3e-b8df-ff60c0cfb0f7
region: first
configuration:
id: 'field_block:node:product:field_media'
label: media
label_display: '0'
provider: layout_builder
context_mapping:
entity: layout_builder.entity
view_mode: view_mode
formatter:
type: media_thumbnail
label: hidden
settings:
image_link: ''
image_style: large
third_party_settings: { }
weight: 0
additional: { }
d45931a9-33f0-437f-a712-d84478375f3c:
uuid: d45931a9-33f0-437f-a712-d84478375f3c
region: second
configuration:
id: 'field_block:node:product:field_description'
label: Description
label_display: '0'
provider: layout_builder
context_mapping:
entity: layout_builder.entity
view_mode: view_mode
formatter:
type: text_default
label: above
settings: { }
third_party_settings: { }
weight: 0
additional: { }
third_party_settings: { }
id: node.product.default
targetEntityType: node
bundle: product
......@@ -18,12 +73,21 @@ content:
label: above
settings: { }
third_party_settings: { }
weight: 101
weight: 1
region: content
field_media:
type: media_thumbnail
label: hidden
settings:
image_link: ''
image_style: large
third_party_settings: { }
weight: 2
region: content
links:
settings: { }
third_party_settings: { }
weight: 100
weight: 0
region: content
hidden:
langcode: true
......
......@@ -5,6 +5,7 @@ dependencies:
config:
- core.entity_view_mode.node.teaser
- field.field.node.product.field_description
- field.field.node.product.field_media
- node.type.product
module:
- user
......@@ -20,5 +21,6 @@ content:
region: content
hidden:
field_description: true
field_media: true
langcode: true
search_api_excerpt: true
uuid: 76fa3e5e-feef-40d1-92ab-22c546a0ca54
langcode: en
status: true
dependencies:
module:
- commerce_shipping
_core:
default_config_hash: SOM4LMI0fFeahHJLPEPoVldiWGePCGwhTERi0cTjb0U
id: commerce_shipment.checkout
label: Checkout
targetEntityType: commerce_shipment
cache: true
uuid: 31616ca4-b595-484e-9a7f-21cc41d87427
langcode: en
status: true
dependencies:
module:
- commerce_shipping
_core:
default_config_hash: G40vv9Xuc6Jt1V5H0UcORDW-EUbERkckHwBYkH7mG_Y
id: commerce_shipment.user
label: User
targetEntityType: commerce_shipment
cache: true
......@@ -26,12 +26,19 @@ module:
commerce_price: 0
commerce_product: 0
commerce_promotion: 0
commerce_shipping: 0
commerce_stock: 0
commerce_stock_enforcement: 0
commerce_stock_field: 0
commerce_stock_local: 0
commerce_stock_ui: 0
commerce_store: 0
commerce_tax: 0
config: 0
config_pages: 0
contact: 0
contextual: 0
custom_commerce: 0
datetime: 0
dblog: 0
devel: 0
......@@ -64,12 +71,12 @@ module:
media: 0
menu_link_content: 0
menu_ui: 0
mymodule: 0
node: 0
options: 0
page_cache: 0
path: 0
path_alias: 0
physical: 0
profile: 0
queue_ui: 0
rdf: 0
......
uuid: bd7ea78c-904f-4f35-b5bb-ed504ce1b34d
langcode: en
status: true
dependencies:
config:
- commerce_order.commerce_order_type.default
- field.storage.commerce_order.shipments
id: commerce_order.default.shipments
field_name: shipments
entity_type: commerce_order
bundle: default
label: Shipments
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: null
settings:
handler: 'default:commerce_shipment'
handler_settings: { }
field_type: entity_reference
......@@ -20,5 +20,10 @@ settings:
handler: 'default:commerce_product_attribute_value'
handler_settings:
target_bundles:
- size
size: size
sort:
field: _none
direction: ASC
auto_create: false
auto_create_bundle: ''
field_type: entity_reference
uuid: 65236b39-80d3-4e07-8409-c3060b153085
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.t_shirt
- field.storage.commerce_product_variation.field_stock_level
module:
- commerce_stock_field
id: commerce_product_variation.t_shirt.field_stock_level
field_name: field_stock_level
entity_type: commerce_product_variation
bundle: t_shirt
label: stock_level
description: ''
required: false
translatable: false
default_value:
-
value: null
default_value_callback: ''
settings: { }
field_type: commerce_stock_level
uuid: f9953641-d191-48aa-884f-389b97496665
uuid: 7d1b9d9e-989b-4f89-a529-b4a3c8b1f349
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_attribute.color
- commerce_product.commerce_product_variation_type.t_shirt
- field.storage.commerce_product_variation.attribute_color
id: commerce_product_variation.t_shirt.attribute_color
field_name: attribute_color
- field.storage.commerce_product_variation.weight
module:
- physical
id: commerce_product_variation.t_shirt.weight
field_name: weight
entity_type: commerce_product_variation
bundle: t_shirt
label: Color
label: Weight
description: ''
required: true
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:commerce_product_attribute_value'
handler_settings:
target_bundles:
- color
field_type: entity_reference
default_value_callback: null
settings: { }
field_type: physical_measurement
uuid: e6afeb4a-37fc-49df-9993-df239bb99289
langcode: en
status: true
dependencies:
config:
- commerce_shipping.commerce_shipment_type.custom_shipment_type
- field.storage.commerce_shipment.field_address
id: commerce_shipment.custom_shipment_type.field_address
field_name: field_address
entity_type: commerce_shipment
bundle: custom_shipment_type
label: Адрес
description: ''
required: false
translatable: true
default_value: { }
default_value_callback: ''
settings: { }
field_type: string
uuid: 8832bb9c-787e-4ce8-a50d-c8206b551535
langcode: en
status: true
dependencies:
config:
- commerce_shipping.commerce_shipment_type.custom_shipment_type
- commerce_stock_local.commerce_stock_location_type.default
- commerce_stock_local.commerce_stock_location_type.stocklocationtype_1
- commerce_stock_local.commerce_stock_location_type.stocklocationtype_2
- field.storage.commerce_shipment.field_available_stock_locations
id: commerce_shipment.custom_shipment_type.field_available_stock_locations
field_name: field_available_stock_locations
entity_type: commerce_shipment
bundle: custom_shipment_type
label: Склад
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:commerce_stock_location'
handler_settings:
target_bundles:
default: default
stocklocationtype_1: stocklocationtype_1
stocklocationtype_2: stocklocationtype_2
sort:
field: _none
direction: ASC
auto_create: false
auto_create_bundle: stocklocationtype_1
field_type: entity_reference
uuid: d013ef18-41b4-4d6c-aceb-d5f7bc0548ad
langcode: en
status: true
dependencies:
config:
- commerce_shipping.commerce_shipment_type.default
- field.storage.commerce_shipment.field_address
id: commerce_shipment.default.field_address
field_name: field_address
entity_type: commerce_shipment
bundle: default
label: Адрес
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string
uuid: d84addff-602a-4e23-a0ee-00fa45b82713
langcode: en
status: true
dependencies:
config:
- commerce_stock_local.commerce_stock_location_type.default
- commerce_stock_local.commerce_stock_location_type.stocklocationtype_1
- commerce_stock_local.commerce_stock_location_type.stocklocationtype_2
- commerce_store.commerce_store_type.online
- field.storage.commerce_store.field_available_stock_locations
id: commerce_store.online.field_available_stock_locations
field_name: field_available_stock_locations
entity_type: commerce_store
bundle: online
label: Склад
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:commerce_stock_location'
handler_settings:
target_bundles:
default: default
stocklocationtype_1: stocklocationtype_1
stocklocationtype_2: stocklocationtype_2
sort:
field: _none
direction: ASC
auto_create: false
auto_create_bundle: default
field_type: entity_reference
uuid: 4e15801e-caa6-4cae-9a15-a6f3464726bb
uuid: e8938ae2-376a-4072-abbe-d8be2bd2d69f
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_type.default
- field.storage.commerce_product.field_product
- field.storage.node.field_media
- media.type.image
- node.type.product
id: commerce_product.default.field_product
field_name: field_product
entity_type: commerce_product
bundle: default
label: product
id: node.product.field_media
field_name: field_media
entity_type: node
bundle: product
label: media
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:node'
handler: 'default:media'
handler_settings:
target_bundles:
product: product
image: image
sort:
field: _none
direction: ASC
......
uuid: b6f57a06-5fe7-4253-8749-850933e9bad9
langcode: en
status: true
dependencies:
module:
- commerce_order
- commerce_shipping
id: commerce_order.shipments
field_name: shipments
entity_type: commerce_order
type: entity_reference
settings:
target_type: commerce_shipment
module: core
locked: true
cardinality: -1
translatable: false
indexes: { }
persist_with_no_fields: false
custom_storage: false
uuid: 8a9365e2-3edf-4b9e-ac33-32bdf4203438
langcode: en
status: true
dependencies:
module:
- commerce_product
- commerce_stock_field
id: commerce_product_variation.field_stock_level
field_name: field_stock_level
entity_type: commerce_product_variation
type: commerce_stock_level
settings: { }
module: commerce_stock_field
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
uuid: ff7a8e6c-e961-4b63-8e39-f0f1c0d1703a
uuid: bad9f0c1-4ba2-46c7-9f93-2fbe72701875
langcode: en
status: true
dependencies:
module:
- commerce_product
id: commerce_product_variation.attribute_color
field_name: attribute_color
- physical
id: commerce_product_variation.weight
field_name: weight
entity_type: commerce_product_variation
type: entity_reference
type: physical_measurement
settings:
target_type: commerce_product_attribute_value
module: core
locked: false
measurement_type: weight
module: physical
locked: true
cardinality: 1
translatable: false
indexes: { }
......
uuid: fdc53b78-584d-45c1-92d1-f3181fc63343
langcode: en
status: true
dependencies:
module:
- commerce_shipping
id: commerce_shipment.field_address
field_name: field_address
entity_type: commerce_shipment
type: string
settings:
max_length: 255
case_sensitive: false
is_ascii: false
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
uuid: c5ef603a-1ca0-49a3-ae6d-09d7e5068345
langcode: en
status: true
dependencies:
module:
- commerce_shipping
- commerce_stock_local
id: commerce_shipment.field_available_stock_locations
field_name: field_available_stock_locations
entity_type: commerce_shipment
type: entity_reference
settings:
target_type: commerce_stock_location
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
uuid: f2618d6e-bf18-495b-a4d2-e78a4c5212a0
langcode: en
status: true
dependencies:
module:
- commerce_stock_local
- commerce_store
id: commerce_store.field_available_stock_locations
field_name: field_available_stock_locations
entity_type: commerce_store
type: entity_reference
settings:
target_type: commerce_stock_location
module: core
locked: false
cardinality: -1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
uuid: c39d6e71-aaf0-4e21-a54e-c505a0f1a480
uuid: 2aa45410-7f0a-4dc9-8498-0e38e0ba6854
langcode: en
status: true
dependencies:
module:
- commerce_product
- media
- node
id: commerce_product.field_product
field_name: field_product
entity_type: commerce_product
id: node.field_media
field_name: field_media
entity_type: node
type: entity_reference
settings:
target_type: node
target_type: media
module: core
locked: false
cardinality: 1
......
uuid: 5a95fc12-2ad9-4f54-b269-b738e6df509e
langcode: en
status: true
dependencies:
config:
- commerce_product.commerce_product_variation_type.t_shirt
id: commerce_product_variation.t_shirt
target_entity_type_id: commerce_product_variation
target_bundle: t_shirt
default_langcode: site_default
language_alterable: false
uuid: 8f0ba08d-494f-4781-a279-4302ba8aa6e2
langcode: en
status: true
dependencies:
module:
- node
- serialization
- user
id: entity.node
plugin_id: 'entity:node'
granularity: resource
configuration:
methods:
- GET
formats:
- json
authentication:
- cookie
......@@ -5,7 +5,7 @@ cache:
page:
max_age: 900
css:
preprocess: true
preprocess: false
gzip: true
fast_404:
enabled: true
......@@ -13,6 +13,6 @@ fast_404:
exclude_paths: '/\/(?:styles|imagecache)\//'
html: '<!DOCTYPE html><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>'
js:
preprocess: true
preprocess: false
gzip: true
stale_file_threshold: 2592000
uuid: a5cdaa0e-5bd6-43df-b0c3-95e32929537c
uuid: a98858b7-c2c6-416e-a659-7c485e8c87c7
langcode: en
status: true
dependencies:
module:
- mymodule
- commerce_stock_local
title: 'Default cron handler'
id: mymodule_cron
id: commerce_stock_local_cron
weight: 0
module: mymodule
callback: mymodule_cron
module: commerce_stock_local
callback: commerce_stock_local_cron
scheduler:
id: simple
launcher:
......
name: custom_commerce
description: Custom module for commerce
package: Custom
type: module
core: 8.x
core_version_requirement: ^8 || ^9
add-cart:
js:
js/ProductSuggest.js: {}
dependencies:
- core/jquery
- core/jquery.once
<?php
use Drupal\Core\Ajax\AjaxResponse;
use Drupal\Core\Ajax\InvokeCommand;
use Drupal\Core\Form\FormStateInterface;
/**
* Implements hook_form_alter().
*/
function custom_commerce_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$str = 'commerce_order_item_add_to_cart_form_commerce_product';
if (strripos($form_id, $str) === 0) {
unset($form['#submit']);
unset($form['actions']);
$form['#attached']['library'][] = 'core/drupal.dialog.ajax';
$form['#attached']['library'][] = 'custom_commerce/add-cart';
$form['actions']['submit'] = [
'#type' => 'submit',
'#value' => 'Add cart',
'#ajax' => [
'callback' => 'addProductInCart',
'event' => 'click',
]
];
}
if ($form['#id'] == 'commerce-checkout-flow-multistep-default') {
$user_input = $form_state->getUserInput();
$form["shipping_information"]["shipments"][0]["field_available_stock_locations"]['#access'] = false;
if (!empty($user_input)) {
$user_input = $user_input['shipping_information']["shipments"][0]["shipping_method"][0];
if ($user_input == '2--default') {
$path = \Drupal::service('path.current')->getPath();
$path = explode("/", $path);
$order_id = $path[2];
$order = Drupal::entityTypeManager()->getStorage('commerce_order')->load($order_id);
$store = $order->getStore();
$stocks = $store->get('field_available_stock_locations')->referencedEntities();
foreach ($stocks as $stock) {
$options[] = $stock->label();
}
$form["shipping_information"]["shipments"][0]["field_address"]['#access'] = false;
$form["shipping_information"]["shipments"][0]["field_available_stock_locations"]["widget"]["#options"] = $options;
$form["shipping_information"]["shipments"][0]["field_available_stock_locations"]['#access'] = true;
}
}
}
}
/**
* Callback for hook_form_alter().
*/
function addProductInCart(array &$form, FormStateInterface $form_state) {
$variation = $form_state->getValue('purchased_entity');
$variation = $variation[0]['variation'];
$response = new AjaxResponse();
$selector = "button[name*='op']";
$method = 'addProductInCart';
$arguments = [$variation];
$response->addCommand(new InvokeCommand($selector, $method, $arguments));
return $response;
}
services:
custom_commerce.normalize:
class: Drupal\custom_commerce\Normalizer\CustomNormalizer
arguments: [ '@current_route_match' ]
tags:
- { name: normalizer, priority: 10 }
(function ($) {
Drupal.behaviors.addCartBehavior = {
attach: function (context, settings) {
$.prototype.addProductInCart = function (id) {
var src = '/sites/default/files/styles/large/public/';
var query_add_cart = [{
"purchased_entity_type": "commerce_product_variation",
"purchased_entity_id": id,
"quantity": "1"
}];
$.ajax({
url: '/cart/add?_format=json',
method: 'post',
data: JSON.stringify(query_add_cart),
headers: {'Content-Type': 'application/json'},
success: function(data){
var order_id = data[0]['order_id'];
var get_request = '/cart/' + order_id + '?_format=json';
$.get(get_request, function(data) {
console.log(data);
var content = '<div class="cart">';
data['items'].forEach(function (item) {
img_attr = 'width="60" height="60" src="' + src + item['uri'] +'"';
img = '<div class="item-img-container"><img ' + img_attr + '></div>';
content = content + '<div class="card">'
content = content + '<div class="item-img-container">' + img + '</div>';
content = content + '<div class="item-name">Наименование товара: ' + item['name'] + '</div>';
content = content + '<div class="item-count">Количество: ' + Math.round(item['quantity']) + '</div>';
content = content + '<div class="item-attribute-size">Размер: ' + item['attribute_size'] + '</div>';
content = content + '<div class="item-price">Сумма: ' + parseFloat(item['item_total_price']['number']).toFixed(2) + ' ' + item['item_total_price']['currency_code'] + '</div>';
content = content + '</div>';
});
total_price_cart = data['total_price']['number'];
total_price_cart = parseFloat(total_price_cart).toFixed(2);
content = content + '<div class="total_price">';
content = content + 'Общая сумма: ' + total_price_cart + data['total_price']['currency_code'];
content = content + '</div>';
content = content + '</div>';
var myDialog = $(content).appendTo('body');
Drupal.dialog(myDialog, {
title: 'Cart',
buttons: [{
text: 'Close',
click: function() {
$(this).dialog('close');
}
}]
}).showModal();
});
}
});
}
}
};
})(jQuery);
<?php
namespace Drupal\custom_commerce\Normalizer;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\serialization\Normalizer\ContentEntityNormalizer;
use Drupal\serialization\Normalizer\NormalizerBase;
class CustomNormalizer extends NormalizerBase {
protected $supportedInterfaceOrClass = 'Drupal\commerce_order\Entity\Order';
public function normalize($cart, $format = NULL, array $context = array()) {
$order_items = $cart->getItems();
$total_price = $cart->getTotalPrice()->toArray();
foreach ($order_items as $order_item) {
$price = $order_item->getTotalPrice()->toArray();
$referenses = $order_item->referencedEntities();
foreach ($referenses as $referens) {
$referens_arr = $referens->toArray();
if (!empty($referens_arr['attribute_size'])) {
$size = $referens->getAttributeValue('attribute_size')->label();
}
if (!empty($referens_arr['product_id'])) {
$product = $referens->getProduct();
if ($product->hasField('field_node')) {
$node = $product->get('field_node')->referencedEntities();
$node = $node[0];
$media = $node->get('field_media')->referencedEntities();
$media = $media[0];
$uri = $media->get('field_media_image')->entity->getFileUri();
$uri = explode('//', $uri);
}
}
}
$items[] = [
'name' => $product->label(),
'quantity' => $order_item->getQuantity(),
'attribute_size' => $size,
'item_total_price' => $price,
'uri' => $uri[1],
];
}
$data = [
'items' => $items,
'total_price' => $total_price,
];
return $data;
}
}
<?php
namespace Drupal\custom_commerce\Plugin\Block;
use Drupal\Core\Ajax\AjaxResponse;
use Drupal\Core\Ajax\AlertCommand;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\mymodule\Form\TestForm;
/**
* Provides
*
* @Block(
* id = "custom_commerce_product_suggest",
* admin_label = @Translation("Products suggest"),
* context_definitions = {
* "node" = @ContextDefinition("entity:node", label = @Translation("Node")),
* }
* )
*/
class ProductSuggest extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
$node = $this->getContextValue('node');
$node_id = $node->id();
$products = \Drupal::entityTypeManager()
->getStorage('commerce_product')
->loadByProperties(['field_node' => $node_id]);
foreach ($products as $product) {
$build[] = \Drupal::entityTypeManager()->getViewBuilder('commerce_product')->view($product, 'cart');
}
empty($products) ? $build = ['#markup' => 'Ничего не найдено'] : '';
return $build;
}
}
<?php
namespace Drupal\custom_commerce\Plugin\Commerce\PromotionOffer;
use Drupal\commerce_order\Adjustment;
use Drupal\commerce_promotion\Entity\PromotionInterface;
use Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer\OrderItemPromotionOfferBase;
use Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer\OrderPromotionOfferBase;
use Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer\PromotionOfferBase;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Form\FormStateInterface;
/**
* @CommercePromotionOffer(
* id = "custom_commerce_custom_promotion",
* label = @Translation("Buy A and B get 50%"),
* entity_type = "commerce_order",
* )
*/
class CustomPromotion extends PromotionOfferBase {
public function apply(EntityInterface $entity, PromotionInterface $promotion) {
$this->assertEntity($entity);
/** @var \Drupal\commerce_order\Entity\OrderInterface $order */
$order = $entity;
$order_items = $order->getItems();
if (count($order_items) == 2) {
}
}
}
add-cart:
js:
js/addCart.js: {}
dependencies:
- core/jquery
- core/jquery.once
......@@ -69,12 +69,42 @@ function mymodule_form_contact_message_feedback_form_alter(&$form, \Drupal\Core\
}
}
function mymodule_preprocess_field_multiple_value_form(&$variables) {
$path = \Drupal::service('path.current')->getPath();
$path = explode("/", $path);
$order_id = $path[2];
$order = Drupal::entityTypeManager()->getStorage('commerce_order')->load($order_id);
$store = $order->getStore();
if ($variables["element"][0]["#value"] == '1--default') {
$variables['elements'][] = [
'#type' => 'textfield',
'#title' => 'Введите адрес',
'#required' => TRUE,
];
} else {
$stocks = $store->get('field_stock_allocation_location')->referencedEntities();
foreach ($stocks as $stock) {
$options[] = $stock->label();
}
$variables['elements'][] = [
'#type' => 'select',
'#title' => 'Выберите склад',
'#options' => $options,
];
}
}
/**
* Implements hook_form_alter().
*/
function mymodule_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$user = Drupal::currentUser();
$store = Drupal::entityTypeManager()->getStorage('commerce_stock_location')->getEntityType('1');
#$store = Drupal::entityTypeManager()->getStorage('commerce_stock_location')->getEntityType('1');
$str = 'commerce_order_item_add_to_cart_form_commerce_product';
if (strripos($form_id, $str) === 0) {
unset($form['#submit']);
......
......@@ -11,8 +11,3 @@ services:
arguments: ['@entity_type.manager']
tags:
- { name: authentication_provider, provider_id: 'x-csrf', priority: 100, global: TRUE }
mymodule.normalize:
class: Drupal\mymodule\Normalizer\CustomTypedDataNormalizer
arguments: ['@current_route_match']
tags:
- { name: normalizer, priority: 10 }
<?php
namespace Drupal\mymodule\Plugin\Commerce\PromotionOffer;
use Drupal\commerce\ConditionGroup;
use Drupal\commerce\ConditionManagerInterface;
use Drupal\commerce\Context;
use Drupal\commerce\Plugin\Commerce\Condition\PurchasableEntityConditionInterface;
use Drupal\commerce\PurchasableEntityInterface;
use Drupal\commerce_order\Adjustment;
use Drupal\commerce_order\Entity\OrderItemInterface;
use Drupal\commerce_order\PriceSplitterInterface;
use Drupal\commerce_price\Calculator;
use Drupal\commerce_price\Price;
use Drupal\commerce_price\Resolver\ChainPriceResolverInterface;
use Drupal\commerce_price\RounderInterface;
use Drupal\commerce_promotion\Entity\PromotionInterface;
use Drupal\commerce_promotion\Plugin\Commerce\PromotionOffer\OrderPromotionOfferBase;
use Drupal\Component\Utility\Html;
use Drupal\Component\Utility\NestedArray;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Form\FormStateInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* @CommercePromotionOffer(
* id = "mymodule_custom_promotion",
* label = @Translation("Custom discount"),
* entity_type = "commerce_order_item",
* )
*/
class CustomPromotion extends OrderPromotionOfferBase {
public function apply(EntityInterface $entity, PromotionInterface $promotion) {
}
}
{% extends "input.html.twig" %}
{#
/**
* @file
* Theme suggestion for "button" input form element.
*
* Available variables:
* - attributes: A list of HTML attributes for the input element.
* - children: Optional additional rendered elements.
* - icon: An icon.
* - icon_only: Flag to display only the icon and not the label.
* - icon_position: Where an icon should be displayed.
* - label: button label.
* - prefix: Markup to display before the input element.
* - suffix: Markup to display after the input element.
* - type: The type of input.
*
* @ingroup templates
*
* @see \Drupal\bootstrap\Plugin\Preprocess\InputButton
* @see \Drupal\bootstrap\Plugin\Preprocess\Input
* @see template_preprocess_input()
*/
#}
{% spaceless %}
{%
set classes = [
'btn',
type == 'submit' ? 'js-form-submit',
icon and icon_position and not icon_only ? 'icon-' ~ icon_position,
]
%}
{% block input %}
{% if icon and icon_only %}
<button{{ attributes.addClass(classes, 'icon-only') }}>
<span class="sr-only">{{ label }}</span>
{{ icon }}
</button>
{% else %}
{% if icon_position == 'after' %}
<button{{ attributes.addClass(classes) }}>{{ label }}{{ icon }}</button>{{ children }}
{% else %}
<button{{ attributes.addClass(classes) }}>{{ icon }}{{ label }}</button>{{ children }}
{% endif %}
{% endif %}
{{ children }}
{% endblock %}
{% endspaceless %}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment