Articles

Սա տարածված դեպք է Drupal մոդուլների մշակման ընթացքում։ Պետք է օգտագործել entityQuery, որտեղ հնարավոր է, սակայն որոշ դեպքերում անհրաժեշտ է օգտագործել SQL հարցումներ՝ ավելի բարդ տվյալներ ստանալու համար։
Դուք կարող եք այս էջը ավելացնել էջանիշերում՝ որպես հիշեցում MySQL հարցումներ (select, insert, update, delete) կատարելու ձևի մասին Drupal-ում։
Select
Ստանալ մեկ արժեք՝


Իրադարձությունների համակարգը թույլ է տալիս կառուցել ավելի բարդ համակարգեր՝ հնարավորությամբ փոխել ֆունկցիոնալությունը որոշակի իրադարձությունների համար սեփական կոդի միջոցով։ Drupal 7-ում եղած շատ hook-եր փոխարինվել են իրադարձություններով։ Սա հնարավորություն է տվել միավորել Drupal-ի բազմաթիվ մասերի և լրացուցիչ մոդուլների աշխատանքը։ Իրադարձությունների համակարգը գալիս է Symfony-ից և բաղկացած է հետևյալ բաղադրիչներից՝


Նախորդ հոդվածներում մենք արդեն հանդիպել ենք hook-երին։ Այս հոդվածում մենք մանրամասն կդիտարկենք այն hook-երը, որոնք օգնում են աշխատել էակների հետ։
Այս հոդվածում դուք կարող եք ընդհանուր տեղեկություն ստանալ այն մասին, թե ինչ են hook-երը և ինչու են դրանք անհրաժեշտ՝
http://drupalbook.org/drupal/92-what-hook-drupal-8
Մենք կօգտագործենք hook-եր՝ մեր սեփական կոդը ավելացնելու համար, որը կգործարկվի որոշակի իրադարձությունների դեպքում՝ կապված էակների հետ՝ ավելացում, ջնջում, թարմացում։


Էակների հետ աշխատանքը Drupal-ում միատեսակ է, և բոլոր CRUD գործողություններն էլ նույնն են բոլոր էակների համար։ Այս հոդվածում մենք կսովորենք, թե ինչպես աշխատել էակների հետ սեփական կոդում։
Եկեք սկզբում դիտենք պարզ օրինակներ։


Դաշտերի արժեքները ստանալը էակներից բավականին հեշտ է, բայց կան մի քանի տարբերակներ դա անելու։ Եկեք տեսնենք, թե ինչպես է լավագույնը աշխատել դաշտերի արժեքների հետ սեփական կոդում։ Դուք միշտ կարող եք տեսնել դաշտերի հետ աշխատանքի վերջին տեղեկությունները պաշտոնական կայքում.
https://www.drupal.org/docs/8/api/entity-api/working-with-the-entity-api
Այս հոդվածում մենք կդիտարկենք արժեքների հետ աշխատանքի օրինակներ։


Մենք արդեն ուսումնասիրել ենք Form API-ն, Fields API-ն և գիտենք, թե ինչպես է տվյալները Drupal-ում պահվում տվյալների բազայում։ Այժմ անդրադառնանք բոլոր Drupal կայքերի հիմքին՝ Entity API-ին։


Այս հոդվածում մենք կդիտարկենք դաշտի ձևաչափիչները (Field Formatters), որոնք թույլ են տալիս խմբագրել դաշտերի ցուցադրումը և դրանք ցուցադրել էջում։
Նախորդ հոդվածներում մենք ստեղծեցինք Link դաշտի տիպ, իսկ այս հոդվածում կդիտենք, թե ինչպես են այդ դաշտերը ցուցադրվում էջում և որ դասերն են պատասխանատու այդ ցուցադրման համար։
Drupal-ում ավելացրած յուրաքանչյուր դաշտ կարող է ցուցադրվել էջում, և նրա կարգավորումները հնարավոր է փոփոխել Manage display էջից։


Նախորդ հոդվածներում մենք ուսումնասիրել ենք Link դաշտի տեսակը՝ պահեստավորում (Storage), մուտքագրում (Widget), ցուցադրում (Formatter): Այս հոդվածում մենք կստեղծենք մեր սեփական դաշտի տեսակը՝ էջում YouTube տեսանյութ ցուցադրելու համար՝ երկու տարբեր ձևաչափով և կարգավորումներով:
Այս հոդվածը կենտրոնացած է Fields API-ի վրա, իսկ եթե Ձեզ անհրաժեշտ է YouTube տեսանյութի դաշտ ավելացնել կայքին, ապա ավելի լավ է օգտվել պատրաստի մոդուլից՝


Այս հոդվածում կքննարկենք դաշտի ցուցադրման ձևավորիչները (Field Formatters), որոնք թույլ են տալիս խմբագրել դաշտերի ցուցադրումը և դրանք տեսանելի դարձնել էջում։
Նախորդ հոդվածներում մենք ստեղծել էինք Link դաշտի տիպ։ Այս հոդվածում կտեսնենք, թե ինչպես են այդ դաշտերը ցուցադրվում էջում և որ դասն է դրա համար պատասխանատու։
Յուրաքանչյուր դաշտ, որը դուք ավելացնում եք Drupal-ում, կարող է ցուցադրվել էջում և դրա կարգավորումները կարող եք փոխել Manage display էջում։


Այս ձեռնարկում կծանոթանանք, թե ինչպես է աշխատում Link մոդուլի Field Widget-ը։ Սա վերանայման հոդված է, այնպես որ եթե ցանկանում եք սկսել գրել ձեր սեփական Field Widget-ը, կարող եք անցնել հաջորդ հոդվածներին։
Նախորդ դասում մենք ավելացրինք Link դաշտեր նոդերի և բլոկների համար։ Հիմա եկեք տեսնենք, թե ինչի հիման վրա է կազմվում Link դաշտի ձևը։
Մենք արդեն ծանոթացել ենք Drupal-ում PHP դասերի ավտոլցման համակարգին, և դաշտերի համար գոյություն ունի նաև WidgetBase կոչվող հիմնական դաս՝
core/lib/Drupal/Core/Field/WidgetBase.php
