- ๐ช๐ธSpain facine
@vyaenes, is "maryhealy_inter..." the bundle or the SKU of the purchasable entity?
Could you please export the webform and share it so we can take a closer look?
Thanks
- ๐ง๐ชBelgium vyaenes Nazareth-De Pinte
Oh, sorry... I think maybe I did something wrong in my configuration.
It's my first time (after a long period) I do again a website in Drupal and it all takes some time to figure things out.
When I was reading your comment and saw "purchasable entity", some light goes on in my head.First I made only my form and in the select I had 2 options:
- maryhealy_intern | Intern | 75.00
- maryhealy_extern | Extern | 75.00And I thought that the module made from this 2 options a product and would add it to my cart.
But now (after reading your comment) I created in my "commerce purchasable entities" 2 entities with as sku "maryhealy_intern" and "maryhealy_extern". And that seems fixing my error. :-)
Thank you! Your comment already helps me a bit.
But I think I need to find more documentation. There's still something wrong with my configuration.
Now I can submit my form without any errors, but instead of forwarding me to the checkout I get an "access denied" error and the following message "Sorry, Mary Healy - Intern is no longer available for registration. It has been removed from your cart." - ๐ง๐ชBelgium vyaenes Nazareth-De Pinte
I think it's not really necessary anymore, but that's an export of my webform:
uuid: a8bb389d-174e-4089-921d-c7bb33926e31 langcode: nl status: open dependencies: module: - commerce_webform_order - webform_entity_print - webform_options_limit - webform_product third_party_settings: webform_entity_print: template: header: '' footer: '' css: '' export_types: pdf: enabled: true link_text: '' link_attributes: { } webform_product: type: top: '' options: maryhealy_intern: '75.0' maryhealy_extern: '75.0' status: options: Volwassene: '' Kind: '' met_kinderen: options: Ja: '' Nee: '' met_voorzieningen_wc_douce: options: 1b-equipped: '220.00' 1b-non-equipped: '190.00' 2b-equipped: '175.00' 3b-equipped: '130.00' 2b-non-equipped: '165.00' 4b-equipped: '130.00' 5b-equipped: '130.00' 3b-non-equippped: '100.00' 14b-non-equipped: '100.00' 4b-non-equipped: '100.00' 5b-non-equipped: '100.00' logement: options: accomodation_equiped_b1: '220.00' accomodation_equiped_b2: '175.00' accomodation_equiped_b3: '130.00' accomodation_equipped_b4: '130.00' accomodation_equiped_b5: '130.00' accomodation_non_equipped_b1: '190.00' accomodation_non_equipped_b2: '165.00' accomodation_non_equipped_b3: '100.00' accomodation_non_equipped_b4: '100.00' accomodation_non_equipped_b5: '100.00' accomodation_non_equipped_b14: '100.00' geslacht_kind: options: Jongen: '' Meisje: '' accomodation: options: accomodation_equiped_b1: '220.00' accomodation_equiped_b2: '175.00' accomodation_equiped_b3: '130.00' accomodation_equipped_b4: '130.00' accomodation_equiped_b5: '130.00' accomodation_non_equipped_b1: '190.00' accomodation_non_equipped_b2: '165.00' accomodation_non_equipped_b3: '100.00' accomodation_non_equipped_b4: '100.00' accomodation_non_equipped_b5: '100.00' accomodation_non_equipped_b14: '100.00' algemeen: top: '' persoonsgegevens: top: '' persoonsgegevens_kind: top: '' adres: top: '' huisvesting: top: '' wat_is_je_moedertaal: options: language_nl: '' language_fr: '' language_de: '' language_en: '' bent_u_bereid_te_helpen_met_vertalen: options: translation_ef: '' translation_en: '' translation_ed: '' wil_u_helpen_bij: options: help_hospitality: '' help_cleaningservice: '' help_veiligheid: '' help_accescontrol: '' help_drinkingbooth: '' help_other: '' ik_ondersteun_de_inschrijving_van_een_jongere: options: support_youth_50: '50.0' support_youth_100: '100.0' support_youth_175: '175.00' weight: 0 open: null close: null uid: 1 template: false archive: false id: mary_healy title: 'Mary Healy' description: '' categories: { } elements: |- algemeen: '#type': fieldset '#title': Algemeen type: '#type': select '#title': Type '#description': '<p>Intern = Logement + maaltijden (vol pension)<br>Extern = U bent zelf verantwoordelijk voor logement en maaltijden</p>' '#options': maryhealy_intern: Intern maryhealy_extern: Extern '#required': true persoonsgegevens: '#type': fieldset '#title': Persoonsgegevens geslacht: '#type': select '#title': Geslacht '#options': Man: Man Vrouw: Vrouw '#required': true voornaam: '#type': textfield '#title': Voornaam '#required': true naam: '#type': textfield '#title': Naam '#required': true geboortedatum: '#type': date '#title': Geboortedatum '#required': true nationaliteit: '#type': textfield '#title': Nationaliteit e_mail: '#type': email '#title': E-mail '#required': true telefoon_gsm: '#type': tel '#title': 'Telefoon/ GSM' '#required': true dieet: '#type': textfield '#title': Dieet '#description': '<p>Lactose, gluten, ...</p>' mobiliteit: '#type': textfield '#title': Mobiliteit adres: '#type': fieldset '#title': Contactgegevens straat: '#type': textfield '#title': Straat '#required': true huisnummer_busnummer: '#type': textfield '#title': 'Huisnummer (+ busnummer)' '#required': true postcode: '#type': textfield '#title': Postcode '#required': true woonplaats: '#type': textfield '#title': Woonplaats '#description': '<p>Stad of gemeente</p>' '#required': true land: '#type': select '#title': Land '#options': country_names '#required': true nieuwsbrief: '#type': checkbox '#title': Nieuwsbrief '#description': '<p><span style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(62, 62, 62);display:inline !important;float:none;font-family:-apple-system, "system-ui", "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:13px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;">Ik wens in de toekomst op de hoogte gehouden te worden van de activiteiten van Charis Belgium vzw.</span></p>' '#prepopulate': true privacy: '#type': checkbox '#title': Privacy '#description': '<p><span style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(62, 62, 62);display:inline !important;float:none;font-family:-apple-system, "system-ui", "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:13px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;">Door deze inschrijving stem ik in met de algemene voorwaarden, het privacybeleid en de beeldrechten zoals hieronder beschreven.</span></p>' '#more_title': 'Bescherming van persoonsgegevens, algemene voorwaarden en beeldrechten' '#more': '<p><em><span style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(34, 34, 34);display:inline !important;float:none;font-family:-apple-system, "system-ui", "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:13px;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;">Charis Belgium vzw hechten veel belang aan de bescherming van de persoonsgegevens en het respecteren van de privacy van de deelnemers aan haar evenementen. Door in te schrijven, geeft elke deelnemer Charis Belgium vzw de toestemming om zijn/haar persoonsgegevens te registreren en te verwerken voor de goede organisatie van het evenement. Charis Belgium vzw houdt zich aan de Europese verordening 2016/679 betreffende de bescherming van persoonsgegevens, zoals beschreven in haar privacybeleid. Door zich in te schrijven aanvaardt elke deelnemer de algemene voorwaarden voor deelname, met inbegrip van de mogelijkheid om gefilmd of gefotografeerd te worden, en het eventuele gebruik van deze beelden op de media van Charis Belgium vzw.</span></em></p>' '#required': true huisvesting: '#type': fieldset '#title': Huisvesting '#states': visible: ':input[name="type"]': value: maryhealy_intern accomodation: '#type': radios '#title': Logement '#description': '<p>Kamer met voorzieningen = wc en/of douche op de kamer.</p><p>Meerpersoonskamers (3b of meer per kamer) zijn voorbehouden voor jongeren tussen 18 en 30 jaar oud.</p>' '#options': accomodation_equiped_b1: 'Eenpersoonskamer met voorzieningen (220,- EUR)' accomodation_equiped_b2: 'Tweepersoonskamer met voorzieningen (175,- EUR)' accomodation_equiped_b3: 'Driepersoonskamer met voorzieningen (130,- EUR)' accomodation_equipped_b4: 'Vierpersoonskamer met voorzieningen (130,- EUR)' accomodation_equiped_b5: 'Vijfpersoonskamer met voorzieningen (130,- EUR)' accomodation_non_equipped_b1: 'Eenpersoonskamer zonder voorzieningen (190,- EUR)' accomodation_non_equipped_b2: 'Tweepersoonskamer zonder voorzieningen (165,- EUR)' accomodation_non_equipped_b3: 'Driepersoonskamer zonder voorzieningen (100,- EUR)' accomodation_non_equipped_b4: 'Vierpersoonskamer zonder voorzieningen (100,- EUR)' accomodation_non_equipped_b5: 'Vijfpersoonskamer zonder voorzieningen (100,- EUR)' accomodation_non_equipped_b14: 'Meerpersoonskamer zonder voorzieningen (100,- EUR) -- (14 personen per kamer)' '#required': true bijkomende_info: '#type': fieldset '#title': 'Bijkomende info' wat_is_je_moedertaal: '#type': select '#title': 'Wat is je moedertaal?' '#options': language_nl: Nederlands language_fr: Frans language_de: Duits language_en: Engels heeft_u_vertaling_nodig: '#type': radios '#title': 'Heeft u vertaling nodig?' '#options': yes_no bent_u_bereid_te_helpen_met_vertalen: '#type': checkboxes '#title': 'Bent u bereid te helpen met vertalen?' '#description': '<p>Vink aan welke talen u wil/kan vertalen.</p>' '#options': translation_ef: 'Engels -> Frans' translation_en: 'Engels -> Nederlands' translation_ed: 'Engels -> Duits' wil_u_helpen_bij: '#type': radios '#title': 'Wil u helpen bij:' '#options': help_hospitality: Onthaal help_cleaningservice: 'Properheid (zaal, wc, vuilbakken)' help_veiligheid: Veiligheid help_accescontrol: Toegangscontrole help_drinkingbooth: Drankstand help_other: Other '#options_randomize': true '#required': true ik_ondersteun_de_inschrijving_van_een_jongere: '#type': select '#title': 'Ik ondersteun de inschrijving van รฉรฉn jongere:' '#options': support_youth_50: '50,- EUR' support_youth_100: '100,- EUR' support_youth_175: '175,- EUR' admin_fields: '#type': fieldset '#title': 'Admin fields' '#format': details-closed '#access_create_roles': - administrator order_id: '#type': textfield '#title': Order_id '#access_create_roles': - administrator order_status: '#type': textfield '#title': Order_status '#access_create_roles': - administrator order_url: '#type': url '#title': Order_url '#access_create_roles': - administrator css: '' javascript: '' settings: ajax: false ajax_scroll_top: form ajax_progress_type: '' ajax_effect: '' ajax_speed: null page: true page_submit_path: '' page_confirm_path: '' page_theme_name: '' form_title: source_entity_webform form_submit_once: false form_open_message: '' form_close_message: '' form_exception_message: '' form_previous_submissions: true form_confidential: false form_confidential_message: '' form_disable_remote_addr: false form_convert_anonymous: false form_prepopulate: false form_prepopulate_source_entity: false form_prepopulate_source_entity_required: false form_prepopulate_source_entity_type: '' form_unsaved: true form_disable_back: false form_submit_back: false form_disable_autocomplete: false form_novalidate: true form_disable_inline_errors: false form_required: true form_autofocus: false form_details_toggle: false form_reset: false form_access_denied: default form_access_denied_title: '' form_access_denied_message: '' form_access_denied_attributes: { } form_file_limit: '' form_attributes: { } form_method: '' form_action: '' share: false share_node: false share_theme_name: '' share_title: true share_page_body_attributes: { } submission_label: '' submission_exception_message: '' submission_locked_message: '' submission_log: false submission_excluded_elements: { } submission_exclude_empty: false submission_exclude_empty_checkbox: false submission_views: { } submission_views_replace: { } submission_user_columns: { } submission_user_duplicate: false submission_access_denied: default submission_access_denied_title: '' submission_access_denied_message: '' submission_access_denied_attributes: { } previous_submission_message: '' previous_submissions_message: '' autofill: false autofill_message: '' autofill_excluded_elements: { } wizard_progress_bar: true wizard_progress_pages: true wizard_progress_percentage: false wizard_progress_link: false wizard_progress_states: false wizard_start_label: '' wizard_preview_link: false wizard_confirmation: true wizard_confirmation_label: '' wizard_auto_forward: true wizard_auto_forward_hide_next_button: false wizard_keyboard: true wizard_track: name wizard_prev_button_label: '' wizard_next_button_label: '' wizard_toggle: false wizard_toggle_show_label: '' wizard_toggle_hide_label: '' wizard_page_type: container wizard_page_title_tag: h2 preview: 0 preview_label: '' preview_title: '' preview_message: '' preview_attributes: { } preview_excluded_elements: { } preview_exclude_empty: true preview_exclude_empty_checkbox: false draft: none draft_multiple: false draft_auto_save: false draft_saved_message: '' draft_loaded_message: '' draft_pending_single_message: '' draft_pending_multiple_message: '' confirmation_type: page confirmation_url: '' confirmation_title: '' confirmation_message: '' confirmation_attributes: { } confirmation_back: true confirmation_back_label: '' confirmation_back_attributes: { } confirmation_exclude_query: false confirmation_exclude_token: false confirmation_update: false limit_total: null limit_total_interval: null limit_total_message: '' limit_total_unique: false limit_user: null limit_user_interval: null limit_user_message: '' limit_user_unique: false entity_limit_total: null entity_limit_total_interval: null entity_limit_user: null entity_limit_user_interval: null purge: none purge_days: null results_disabled: false results_disabled_ignore: false results_customize: false token_view: false token_update: false token_delete: false serial_disabled: false access: create: roles: - anonymous - authenticated users: { } permissions: { } view_any: roles: { } users: { } permissions: { } update_any: roles: { } users: { } permissions: { } delete_any: roles: { } users: { } permissions: { } purge_any: roles: { } users: { } permissions: { } view_own: roles: { } users: { } permissions: { } update_own: roles: { } users: { } permissions: { } delete_own: roles: { } users: { } permissions: { } administer: roles: { } users: { } permissions: { } test: roles: { } users: { } permissions: { } configuration: roles: { } users: { } permissions: { } handlers: options_checkbox_limit: id: options_limit handler_id: options_checkbox_limit label: 'Options/Checkbox limit' notes: '' status: true conditions: { } weight: 0 settings: element_key: accomodation limit: null limits: accomodation_equiped_b1: 21 accomodation_equiped_b2: 178 accomodation_equiped_b3: 12 accomodation_equipped_b4: 12 accomodation_equiped_b5: 5 accomodation_non_equipped_b1: 15 accomodation_non_equipped_b2: 124 accomodation_non_equipped_b3: 15 accomodation_non_equipped_b4: 4 accomodation_non_equipped_b5: 10 accomodation_non_equipped_b14: 14 limit_reached_message: '@name is volzet' limit_source_entity: true limit_user: false option_none_action: disable option_message_display: label option_multiple_message: '[@remaining remaining]' option_single_message: '[@remaining remaining]' option_none_message: '[@remaining remaining]' option_unlimited_message: '[Unlimited]' option_error_message: '@name: @label is unavailable.' tableselect_header: '' commerce_webform_order_handler: id: commerce_webform_order handler_id: commerce_webform_order_handler label: Inschrijvingskosten notes: '' status: true conditions: { } weight: 0 settings: store: store_entity: 6b9722f8-b12a-4501-adcf-5308aed41a2b bypass_access: true order_item: order_item_id: ':input[name="order_id"]' purchasable_entity_type: commerce_purchasable_entity purchasable_entity: ':input[name="type"]' title: '' overwrite_price: false amount: '' currency: '' quantity: '1' order_item_bundle: webform fields: { } checkout: new_cart: false empty_cart: false combine_cart: false owner: ':input[name="e_mail"]' owner_id: '' billing_profile_id: '' billing_profile_bypass_access: true payment_gateway_id: '' payment_method_id: '' cancel_url: '' hide_add_to_cart_message: false redirect: true order_state: 'order_fulfillment_validation:draft' order_data: '' sync: false webform_states: - completed order_states: - _new_order_ - 'order_fulfillment_validation:draft' - 'order_default:draft' prevent_update: false debug: false variants: { }
- ๐ช๐ธSpain facine
Donโt worry! I think the issue could be the order item ID:
order_item_id: ':input[name="order_id"]'
You are trying to override this auto-increment number.
This order item ID is used for updating existing order item in the cart.
Maybe you are trying to set the order number (not order id) but for now it is not possible from the handler.
- ๐ช๐ธSpain facine
Perhaps you might find this recipe helpful, as it includes working examples of donation forms and membership sign-ups: https://www.drupal.org/project/cwo_demo โ