logo

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

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

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

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

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

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

Scroll

Կոնֆիգուրացիայի պահպանումը Drupal 8-ում

19/06/2025, by Ivan

Դեֆոլտով կոնֆիգուրացիայի մասին տեղեկությունները Drupal 8-ում պահվում են տվյալների բազայում։

Կոնֆիգուրացիայի ֆայլի ձևաչափը (YAML)

Ընդարձակումները (մոդուլներ, թեմաներ և պրոֆիլներ) տրամադրում են կոնֆիգուրացիոն տվյալներ YAML ֆայլերում։

Ահա կոնֆիգուրացիայի ֆայլի օրինակ՝

some_string: 'Woo kittens!'
some_int: 42
some_bool: true

Կոնֆիգուրացիան կարող է նաև լինել ներդաշնակ։ Ահա օրինակ՝

name: thumbnail
label: 'Thumbnail (100x100)'
effects:
  1cfec298-8620-4749-b100-ccb6c4500779:
    id: image_scale
    data:
      width: 100
      height: 100
      upscale: true
    weight: 0
    uuid: 1cfec298-8620-4749-b100-ccb6c4500779

Կոնֆիգուրացիայի սխեմա

Կոնֆիգուրացիան ունի սխեմա, որը նկարագրված է կոնֆիգուրացիայի սխեմա/մետատվյալների մասին փաստաթղթերում։

Ընդարձակումների կոնֆիգուրացիայի դեֆոլտ արժեքներ

Ընդարձակումները (մոդուլ, թեմա կամ պրոֆիլ), որոնք տրամադրում են իրենց կոնֆիգուրացիայի դեֆոլտ արժեքներ, պետք է տեղադրեն դրանք YAML ֆայլերում իրենց config/install ենթաթղթակում։

Եթե ընդարձակմանը պետք են միայն պարզ կոնֆիգուրացիոն պարամետրեր, դեֆոլտ բոլոր պարամետրերը կարելի է տեղադրել մեկ modulename.settings.yml ֆայլում։ Ավելի բարդ պարամետրերի դեպքում կարելի է կոնֆիգուրացիան բաժանել մի քանի ֆայլերի։ Յուրաքանչյուր կոնֆիգուրացիայի օբյեկտ պետք է տեղադրվի իր սեփական YAML ֆայլում, և դրանք պետք է ավտոմատ սերնդվեն, երբ մոդուլը գրանցում է իր կոնֆիգուրացիան (մենաշնորհ մի փորձեք դրանք ձեռքով գրել)։

Եթե կոնֆիգուրացիայի դեֆոլտ արժեքները պահանջում են դինամիկ արժեքներ (որոնք, հետևաբար, չեն կարող տեղադրվել modulename.settings.yml-ում), դրանք պետք է սెట్ անել hook_install() ֆունկցիայում։ Օրինակ՝

/**
 * Implements hook_install().
 */
function modulename_install() {
  // Դինամիկ արժեքների համար դեֆոլտ արժեքներ սետ անելը։
  \Drupal::configFactory()->getEditable('modulename.settings')
    ->set('default_from_address', \Drupal::config('system.site')->get('mail'))
    ->save();
}

Ընդարձակումների չպարտադիր կոնֆիգուրացիան

Չպարտադիր կոնֆիգուրացիոն տարրերը ընդարձակումների (մոդուլների կամ թեմաների) համար պահվում են config/option ենթաթղթակում։

Սրանք կոնֆիգուրացիոն տարրեր են, որոնք կախված են ինչ-որ բանից, ինչը ընդարձակումն ինքներս բացահայտորեն կախված չէ, ուստի դրանք տեղադրվում են միայն բոլոր իրենց կախվածությունների առկայության դեպքում։

Օրինակ, եթե մոդուլ A-ն ունի չպարտադիր կոնֆիգուրացիա, որը պահանջում է մոդուլ B, բայց նախ տեղադրվում է մոդուլ A-ն, ապա որոշ ժամանակ անց B-ն, ապա config/option ենթաթղթակը մոդուլ A-ի համար ստուգվելու է նորահայտ կախվածությունների համար, և այդ ժամանակ կտեղադրվի կոնֆիգուրացիան։ Եթե B-ն երբեք չի տեղադրվի, ապա լրացուցիչ կոնֆիգուրացիան նույնպես չի տեղադրվի։

Ակտիվ կոնֆիգուրացիայի պահոց

Դեֆոլտով Drupal 8-ում ակտիվ կոնֆիգուրացիան պահվում է տվյալների բազայում՝ կատարողականությունն ու մասշտաբելիությունը բարձրացնելու համար։ Ավելին կարդացեք «Դեֆոլտ ակտիվ կոնֆիգուրացիան փոխվել է ֆայլային պահոցից տվյալների բազայի պահոցի» մասին հոդվածում։

Կոնֆիգուրացիայի թարմացում YAML-ից տվյալների բազա

Եթե զարգացումների ընթացքում պետք է թարմացնեք կոնֆիգուրացիան YAML ֆայլերից տվյալների բազա, կարող եք օգտագործել drush config-import (cim) հրամանը։
Խմբագրեք կոնֆիգուրացիայի YAML ֆայլը ակտիվ կոնֆիգուրացիայի թղթապանակում (ինչպես սահմանված է settings.php-ում, օրինակ՝ sites/default/files/config_6dh1U_2YKLGrrh5oLxAgobbledygook/sync), ապա գործարկեք drush cim։ Очистите кешը (drush cr), чтобы увидеть изменения.
Եթե ձեր YAML ֆայլի կարգավորումները բավարարում են ձեզ, ապա կարող եք դրանք պատճենել ձեր մոդուլ կամ թեմա։

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.