Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll
19/04/2025, by Ivan

Menu

Այս հոդվածում մենք կշարունակենք ծանոթանալ Drupal 8-ի Form API-ին և կստեղծենք բազմափուլ ձև (multi-step form): Մենք արդեն ստեղծել ենք մոդուլի սովորական կարգավորումների ձևը, իսկ բազմափուլ ձևը ստեղծվում է նույնատիպ ձևով՝ օգտագործելով $form_state՝ ձևի փուլերի միջև տվյալները պահելու համար։

Կոդի օրինակները կարող եք գտնել github-ում՝

https://github.com/levmyshkin/drupalbook8

Բազմափուլ ձևի համար անհրաժեշտ է ձևի class ավելացնել՝

/modules/custom/drupalbook/src/Form/MultiStepForm.php

Այնուհետև մենք կվերլուծենք յուրաքանչյուր կոդի հատվածը։ Իսկ մինչ այդ ստեղծենք երթուղի (route) մեր ձևի համար՝
/modules/custom/drupalbook/drupalbook.routing.yml:

drupalbook.multistep_form:
  path: '/multistep-form'
  defaults:
    _form: '\Drupal\drupalbook\Form\MultiStepForm'
    _title: 'Բաժանորդագրվել նորություններին'
  requirements:
    _permission: 'access content'

Դա կստեղծի ձև /multistep-form հասցեով։

Որպեսզի այս ձևը բացվի մոդալ պատուհանում, պետք է ավելացնել block կամ պարզապես տեքստ՝ հատուկ use-ajax դասով և data-dialog-type="modal" ատրիբուտով, ձևի էջի հղումով։ Կարևոր է միացնել հետևյալ գրադարանները՝ core/drupal.dialog.ajax և core/jquery.form։

Եթե դա անում եք բլոկի միջոցով, կստանաք ձևի բացման կոճակի հետևյալ կոդը՝ modules/custom/drupalbook/src/Plugin/Block/SubscribeFormButton.php-ում։

Ձևը պոպափ պատուհանում կունենա նման տեսք՝

Ես նաև միացրել եմ custom գրադարան՝ drupalbook.libraries.yml ֆայլից՝

modules/custom/drupalbook/drupalbook.libraries.yml

multistep_form:
  css:
    css/multistep_form.css: {}
  js:
    scripts/multistep_form.js: {}
  dependencies:
    - core/jquery
    - core/jquery.once

Անհրաժեշտ է ձևի ոճավորումը և անհրաժեշտ jQuery plugin-ների միացումը։ Դրա համար պետք է ստեղծել հետևյալ ֆայլերը՝

modules/custom/drupalbook/css/multistep_form.css
modules/custom/drupalbook/scripts/multistep_form.js

Կոդի օրինակները կարող եք գտնել github-ում՝
https://github.com/levmyshkin/drupalbook8