Twig կաղապարների անվանման կոնվենցիաներ
Drupal-ը բեռնաթափում է կաղապարները՝ հիմնվելով որոշակի անվանման կոնվենցիաների վրա։ Սա թույլ է տալիս ձեզ կարգավորել կաղապարները՝ դրանք ձեր թեմայի մեջ ավելացնելով և տալով կոնկրետ անուններ։
Կաղապարը ավելացնելուց հետո պետք է մաքրել քեշը, որպեսզի Drupal-ը հայտնաբերի նոր կաղապարը։
Դուք կարող եք դեբագավորել Twig կաղապարները՝ հասկանալու համար, թե որ կաղապարն է օգտագործվում նշված էլեմենտի ցուցադրման համար։ Ավելին Twig-ի դեբագավորման մասին այստեղ։
Այս էջում ներկայացված են հիմնական HTML կառուցվածքի, էջի, տարածաշրջանների, բլոկների, հանգույցների, դաշտերի և այլ հիմնական բաղադրիչների անվանման կոնվենցիաները։ (Օգուտ է, որ կարելի է ստեղծել սեփական կաղապարային անունների առաջարկներ՝ օգտագործելով hook_theme_suggestions_HOOK_alter ֆունկցիան։)
HTML (հատված <head>)
HTML կաղապարը ապահովում է HTML էջի հիմնական կառուցվածքը՝ ներառյալ <head>, <title> և <body> տեգերը։
Հիմնական կաղապար՝ html.html.twig (նախադրյալ տեղակայում՝ core/modules/system/templates/html.html.twig)
Հետևյալ օրինակները ցույց են տալիս, թե ինչպես կարելի է վերակազմակերպել հիմնական կաղապարը՝
- html--[ներքին_հասցե].html.twig
- html--node--[հանգույցի_id].html.twig
- html.html.twig
Տես html.html.twig API-ի փաստաթուղթը
Էջի կաղապար
Կաղապար՝ page--[front|internal/path].html.twig
Հիմնական կաղապար՝ page.html.twig (core/modules/system/templates/page.html.twig)
Առաջարկները բազմաթիվ են։ Առաջնահերթ է գլխավոր էջը։ Մնացածը հիմնված է ընթացիկ էջի ներքին ճանապարհի վրա։ Գլխավոր էջի կարգավորումները կարելի է գտնել Administration > Configuration > System > Site information (http://example.com/admin/config/system/site-information)։ Գլխավոր էջի կաղապարն է page--front.html.twig։
Ներքին ճանապարհը չպետք է շփոթել ուղու մականունների հետ, որոնք չեն հաշվում։
Առաջարկվող ֆայլերի ցուցակը դասավորված է կոնկրետության կարգով՝ հիմնված ներքին ճանապարհի վրա։ Յուրաքանչյուր ուղու տարրին տրվում է մեկ առաջարկ, սակայն թվային տարրերը չեն փոխանցվում հաջորդ առաջարկներին։ Օրինակ՝ «http://www.example.com/node/1/edit» հասցեն կստեղծի հետևյալ առաջարկները.
- page--node--edit.html.twig
- page--node--1.html.twig
- page--node.html.twig
- page.html.twig
Տես page.html.twig API փաստաթուղթը։ Հետեւյալում նաև դիտեք վերանորոգման էջի կաղապարը։
Տարածքներ (Regions)
Կաղապար՝ region--[region].html.twig
Հիմնական կաղապար՝ region.html.twig (core/modules/system/templates/region.html.twig)
Տարածքի կաղապարը օգտագործվում է, երբ էջի տվյալ տարածքում կա բովանդակություն, որը կարող է լինել թե՛ բլոկներից, թե՛՝ hook_page_top() կամ hook_page_bottom() նման ֆունկցիաներից։ Տարածքների հնարավոր անունները սահմանվում են թեմայի .info.yml ֆայլով։
Տես region.html.twig API փաստաթուղթը
Բլոկներ
Կաղապար՝ block--[module]--[delta].html.twig
Հիմնական կաղապար՝ block.html.twig (core/modules/block/templates/block.html.twig)
- block--[module]--[delta].html.twig
- block--[module].html.twig
- block.html.twig
«module»-ը մոդուլի անունն է, «delta»-ն՝ տվյալ բլոկի մոդուլի կողմից տրված ներքին նույնականացումն է։
Օրինակ՝ «block--block--1.html.twig» կօգտագործվի այն առաջին բլոկի համար, որը ստեղծվել է block մոդուլի կողմից id=1-ով, և ավելացվել է բլոկների ադմինիստրատիվ էջում։ Դրանց համար, որոնք հատուկ տարածաշրջանային բլոկներ են, Drupal 8-ում առկա չեն համապատասխան կաղապարներ։
Եթե ունեք բլոկ, որը ստեղծվել է «custom» անունով ձեր սեփական մոդուլով, և delta-ն «my-block» է, ապա թեմայի կաղապարի առաջարկը կլինի «block--custom--my-block.html.twig»։
Օրինակ՝ եթե ձեր բլոկը ստեղծվել է Views մոդուլի կողմից, որը կոչվում է «front_news», և ունի block_1 տեսանելիության նույնականացում, ապա թեմայի կաղապարի առաջարկը կլինի՝ block--views-block--front-news-block-1.html.twig (գուշացեք, երբ block_1 կամ front_news պարունակում են ստորակետեր, դրանք պետք է փոխարինվեն միակ ճարմանդով)`
Նշեք, որ այս կոնտեքստում մոդուլի անունները զգայուն են մեծատառ/փոքրատառի նկատմամբ։ Օրինակ, եթե ձեր մոդուլն է «MyModule», առավել ընդհանուր առաջարկը կլինի «block--MyModule.html.twig»։
Տես block.html.twig API փաստաթուղթը
Հանգույցներ (Nodes)
Կաղապար՝ node--[content-type|nodeid]--[viewmode].html.twig
Հիմնական կաղապար՝ node.html.twig (core/modules/node/templates/node.html.twig)
Թեմայի առաջարկները հիմնված են հետևյալների վրա՝ առավել կոնկրետից մինչև ամենաքիչ կոնկրետը։ Drupal-ը կօգտագործի առավել կոնկրետ գտած կաղապարը․
- node--[nodeid]--[viewmode].html.twig
- node--[nodeid].html.twig
- node--[content-type]--[viewmode].html.twig
- node--[content-type].html.twig
- node--[viewmode].html.twig
- node.html.twig
Նշեք, որ ներքին դաշտի անունի ստորակետները (_) փոխարինվում են ճարմանդներով (-)։
Տես node.html.twig API փաստաթուղթը
Տաքսոնոմիայի տերմիններ (Taxonomy terms)
Կաղապար՝ taxonomy-term--[vocabulary-machine-name|tid].html.twig
Հիմնական կաղապար՝ taxonomy-term.html.twig (core/modules/taxonomy/templates/taxonomy-term.html.twig)
Թեմայի առաջարկները կառուցված են առավել կոնկրետից մինչև ամենաքիչ կոնկրետը՝ հետևյալների հիման վրա։ Drupal-ը կօգտագործի առավել կոնկրետ կաղապարը՝
- taxonomy-term--[tid].html.twig
- taxonomy-term--[vocabulary-machine-name].html.twig
- taxonomy-term.html.twig
Նշեք, որ բառարանի մեքենայական անունի ստորակետները փոխարինվում են ճարմանդներով։
Տես taxonomy-term.html.twig API փաստաթուղթը
Դաշտեր (Fields)
Կաղապար՝ field--[[type|name]|[entity-type]--[field-name|content-type]].html.twig
Հիմնական կաղապար՝ field.html.twig (core/modules/system/templates/field.html.twig)
Թեմայի առաջարկները դասավորված են առավել կոնկրետից մինչև ամենաքիչ կոնկրետ՝ հետևյալ կարգով։ Drupal-ը կօգտագործի առավել կոնկրետ կաղապարը՝
- field--node--[field-name]--[content-type].html.twig
- field--node--[field-name].html.twig
- field--node--[content-type].html.twig
- field--[field-name].html.twig
- field--[field-type].html.twig
- field.html.twig
Նշեք, որ դաշտի մեքենայական անունի ստորակետները (_) փոխարինվում են ճարմանդներով (-): Մի՛ մոռացեք օգտագործել «field-» որպես նախածանց օգտատիրոջ դաշտերի անվանումներում, օրինակ՝ field--field-phone.html.twig։
Տես field.html.twig API փաստաթուղթը
Մեկնաբանություններ (Comments)
Կաղապար՝ comment--[comment-field-name]--[node-type].html.twig
Հիմնական կաղապար՝ comment.html.twig (core/modules/comment/templates/comment.html.twig)
Ավելացել է աջակցություն՝ comment--[comment-field-name]--[node-type].html.twig ֆայլեր ստեղծելու համար, որպեսզի որոշակի հանգույցի տիպի մեկնաբանությունները ձևավորվեն այլ կերպ, քան կայքի մնացած մեկնաբանությունները։ Օրինակ՝ հոդվածի տիպի հանգույցի մեկնաբանությունը կլինի «comment--field-comments--article.html.twig»։
Տես comment.html.twig API փաստաթուղթը
Մեկնաբանության օվերքերներ
Կաղապար՝ field--node--[comment-field-name]--[content-type].html.twig
Հիմնական կաղապար՝ field--comment.html.twig
Ֆորումներ (Forums)
Կաղապար՝ forums--[[container|topic]--forumID].html.twig
Հիմնական կաղապար՝ forums.html.twig (core/modules/forum/templates/forums.html.twig)
Թեմայի առաջարկները կազմված են առավել կոնկրետից մինչև ամենաքիչ կոնկրետ։ Drupal-ը կօգտագործի առավել կոնկրետ կաղապարը՝
Ֆորումի կոնտեյներների համար՝
- forums--containers--[forumid].html.twig
- forums--[forumid].html.twig
- forums--containers.html.twig
- forums.html.twig
Ֆորումի թեմաների համար՝
- forums--topics--[forumid].html.twig
- forums--[forumid].html.twig
- forums--topics.html.twig
- forums.html.twig
Տես forums.html.twig API փաստաթուղթը
Վերանորոգման էջ (Maintenance page)
Կաղապար՝ maintenance-page--[offline].html.twig
Հիմնական կաղապար՝ maintenance-page.html.twig (core/modules/system/templates/maintenance-page.html.twig)
Դա կիրառելի է, երբ տվյալների բազան հանկարծակի հասանելի չէ։ Օգնում է ցուցադրել օգտատերերին համակրելի էջ առանց սխալների։ Maintenance page թեման պետք է ճիշտ կազմաձևված լինի։
Տես maintenance-page.html.twig API փաստաթուղթը
Նշեք, որ maintenance-page--offline.html.twig ֆայլը ներկայում չի ցուցադրվում, երբ տվյալների բազան անհասանելի է։ Հետևվող խնդիր՝ #2720109: maintenance-page-offline.html.twig չի հայտնաբերվում, երբ համակարգը օֆլայն է։
Search results (Որոնման արդյունքներ)
Կաղապար՝ search-result--[search-type].html.twig
Հիմնական կաղապար՝ search-result.html.twig (core/modules/search/templates/search-result.html.twig)
search-result.html.twig-ն է միավորի որոնման արդյունքների լարումը։ Որոնման տեսակից կախված՝ տարբեր առաջարկներ են։ Օրինակ՝ «example.com/search/node/Search+Term» կօգտագործի search-result--node.html.twig։ «example.com/search/user/bob»-ը կօգտագործի search-result--user.html.twig։ Մոդուլները կարող են ընդլայնել որոնման տեսակները՝ ավելացնելով նոր առաջարկներ։
Տես search-result.html.twig API փաստաթուղթը
Views
Բոլոր Views կաղապարները հնարավոր է վերակազմակերպել՝ օգտագործելով views-ի անունը, դիտման նույնականացուցիչը, դիտման տեսակը կամ դրանց համակցությունը։
Յուրաքանչյուր views-ի համար օգտագործվում է առնվազն երկու կաղապար։ Առաջինը օգտագործվում է բոլոր views-երի համար՝ views-view.html.twig։
Երկրորդը որոշվում է դիտման ընտրված ոճով։ Որոշ դիտումների առանձնահատկություններ կարող են փոխել օգտագործվող ոճը, օրինակ՝ ընդհանուր տեսքը փոփոխում է ոճը հատուկ ամփոփման ոճի։
Բոլոր views-երի նախնական ոճն է views-view-unformatted.html.twig։
Շատ ոճեր ցուցադրում են յուրաքանչյուր տողի իրական արտածումը՝ ըստ տողի ոճի։ Նախնական տողի ոճը views-view-fields.html.twig է։
Կաղապարներ՝
- views-view--[viewid]--[view-display-id].html.twig
- views-view--[viewid]--[view-display-type].html.twig
- views-view--[view-display-type].html.twig
- views-view--[viewid].html.twig
- views-view.html.twig
Հիմնական կաղապար՝ views-view.html.twig (core/themes/stable/templates/views/views-view.html.twig)
Օրինակ՝ եթե ցանկանում եք վերակազմակերպել «views-view.html.twig» կաղապարը ձեր դիտման համար, թույլատրելի անուններն են՝
- views-view--[viewid]--[view-display-id].html.twig
- views-view--[viewid]--page.html.twig
- views-view--block.html.twig
- views-view--[viewid].html.twig
- views-view.html.twig
views-view-field.html.twig հիման վրա կաղապարներն ունեն postfix՝ դիտման դաշտի նույնականացուցիչով (ինչպես փոփոխվող կաղապարներում)՝ մեկ դաշտի ցուցադրման համար՝
- views-view-field--[viewid]--[view-display-id]--[fieldid].html.twig
- views-view-field--[viewid]--page--[fieldid].html.twig
- views-view-field--block--[fieldid].html.twig
- views-view-field--[fieldid].html.twig
- views-view-field.html.twig
Օրինակ բոլոր կաղապարների, որոնք փորձարկվում են հետևյալ դեպքում՝
Դիտում՝ foobar անվամբ։ Ոճ՝ անփոփոխ։ Տողի ոճ՝ դաշտեր։ Ցուցադրում՝ էջ։
- views-view--foobar--page.html.twig
- views-view--page.html.twig
- views-view--foobar.html.twig
- views-view.html.twig
- views-view-unformatted--foobar--page.html.twig
- views-view-unformatted--page.html.twig
- views-view-unformatted--foobar.html.twig
- views-view-unformatted.html.twig
- views-view-fields--foobar--page.html.twig
- views-view-fields--page.html.twig
- views-view-fields--foobar.html.twig
- views-view-fields.html.twig
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.