Articles

Drupal-ն ունի հզոր պատկերի կառավարման համակարգ, որը թույլ է տալիս ստեղծել պատկերի ոճեր, որոնք կարող են կիրառել տարբեր էֆեկտներ պատկերի վրա և ստեղծել սկզբնական պատկերից դուրս աշխատող արտադրյալներ։ Այս ֆունկցիոնալությունը կարող է օգտագործվել թեմաներում, որոնք ցանկանում են ներառել պատկերի ոճերի հավաքածու, ստեղծված հատուկ տվյալ թեմայի համար, փոխարենը՝ օգտագործելու արմատի կողմից տրամադրվածները։
Պատկերի ոճը ձեր թեմայի հետ միացնելու գործընթացը նման է ռեգուլյար կոնֆիգուրացիայի ներառմանը մոդուլում։

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.

Շատ ծրագրավորողներ նախընտրում են վերնագրի և ստորագրի կոդերը պահել առանձին ֆայլում և կանչել այդ ֆայլը page.html.twig-ում։
Процесс
Ենթադրենք, ձեր թեմայի թղթապանակում ստեղծել եք հետևյալ ֆայլը վերնագրի համար՝
THEME_NAME/templates/includes/header.html.twig
Եվ այժմ ցանկանում եք ներառել այս ֆայլը հետևյալում՝
page.html.twig
Խորհուրդ տրվող մեթոդ
Drupal 8 թեմաների ճիշտ մեթոդը Twig անունների տարածքները օգտագործելն է՝ հայտարարելու համար ընթացիկ թեմայի "templates" պանակը։ Ահա օրինակ՝

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.

Շատ Twig տեմպլեյթներ կունենան մեկ կամ մի քանի Attribute օբյեկտ, որոնք փոխանցվում են որպես փոփոխականներ։ Attribute օբյեկտի նպատակն է պահել HTML հատկանիշների հավաքածու, ծրագրավորողին տրամադրելով օգտակար մեթոդներ տվյալների հետ աշխատելու համար և հեշտությամբ տպելու հատկանիշները։ Օրինակ՝ attribute.addClass('myclass') հեշտացնում է մի դաս ավելացնելը առանց տեքստերի կոնկատենացիայի մասին անհանգստանալու։
Սովորաբար հատկանիշները տեմպլեյթում պետք է ունենան այսպիսի տեսք՝

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.

Ինչպես Drupal 7-ում, դուք կարող եք ազդել որոշակի HTML-ի արտածման վրա նախապատրաստման ֆունկցիաների միջոցով։ Օրինակ, եթե ցանկանում եք ավելացնել դաս մենյուին և նախընտրում եք դա անել PHP մակարդակով, կարող եք դա անել։ Սա լավ միջոց է թեմային առնչվող նշագրման փոփոխման համար, բայց եթե ցանկանում եք ստեղծել թեմայից անկախ նշագրում, ավելի լավ է գրել ձեր սեփական մոդուլը։
(Նշում․ այստեղ «mytheme»-ը ձեր թեմայի մեքենայական անունն է, օրինակ՝ «bartik»։)
Նախապատրաստման ֆունկցիաների հետ աշխատելու համար՝
1. Ստեղծեք կամ խմբագրեք ձեր թեմայի տոպրակին պատկանող mytheme.theme ֆայլը։

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.

Drupal 8-ում breakpoints-ների խմբագրման համար օգտագործողի ինտերֆեյս չկա։ Քանի որ breakpoints-ները սահմանված են կոնֆիգուրացիոն ֆայլերում, նաև հնարավոր չէ տրամադրել օգտագործողի ինտերֆեյս contrib-ում։

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.

Drupal ադմինիստրատիվ հատվածում յուրաքանչյուր թեմայի համար կա իր կարգավորումների էջը՝ հասցեով admin/Appearance/Settings/themeName։ Այդ էջը պարունակում է ֆորմա ստանդարտ կարգավորումներով, օրինակ՝ «Նշանաբանի պատկերակի կարգավորումներ» և «Կարճ հղման պատկերակի կարգավորումներ»։

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.

Սա Drupal 8-ի որոշ առավել նշանակալի փոփոխությունների ցուցակն է, որոնք ազդում են թեմայի վրա։

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.

Հիմնական դասերի փոփոխություններ
Օգնավոր դասերի պարզեցված անուններ՝ "element-x"
Drupal 7-ը ներկայացրեց մի քանի նոր դասեր՝ element-hidden, element-invisible և element-focusable։ Հեշտ չէր հասկանալ նրանց անուններից, թե ինչ են անում այդ դասերը, այդ պատճառով դասերի անունները փոխվել են։ Նոր անունները պետք է հեշտացնեն դասերի հասկացումը և ավելի համապատասխանեն HTML 5 Boilerplate՝ HTML 5-ի հանրահայտ միջավայրին։ Ահա փոխարկման և օգտագործման աղյուսակը․

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.

Այս փաստաթուղթը օգտագործվել է Drupal 8-ի Twig փոխարկման գործընթացի մեծ մասի ընթացքում և կարող է օգտակար լինել նաև ձեր սեփական թեմաները և մոդուլները թարմացնելու համար՝ օգտագործելով Twig տեմպլեյթ շարժիչը Drupal 8-ում։
Նշում․ Twig-ով բոլոր աշխատանքները հիմա կատարվում են Drupal արմատային խնդրների հերթում։ Օգտագործեք միայն Twig փոխարկման sandbox-ը նախօրոք փոխարկված տեմպլեյթներն ու ֆունկցիաները գտնելու համար։
Հիմնական մասնակցողների քայլերը՝

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.

Ավտոմատացման գործիքների օգտագործումը հեշտացնում է թեմաների ստեղծման գործընթացը։ Այստեղ մենք պատրաստվում ենք օգտագործել gulp js՝ օգտվողի թեմայի ավտոմատացման գործիք ստեղծելու համար։
Gulp 3.x և Node 10.x և ավելի ցածր տարբերակների հետ աշխատանք
1. Node.js-ի տեղադրում
Ներբեռնեք և տեղադրեք NodeJS-ի վերջին տարբերակը nodejs.org կայքից։ Տեղադրման գործընթացը կարող է տարբերվել կախված ձեր օպերացիոն համակարգից։
2. Տեղադրեք Gulp

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.