6.6. Drupal-ում կաղապարների հետ աշխատելը: Որոնք են կաղապարները Drupal-ի հիմքում
Մենք արդեն տեսել ենք, որ Drupal-ում մենք ունենք Twig ներկառուցված և ինչպես օգտագործել այն: Այս հոդվածում մենք կքննարկենք, թե ինչպես աշխատել Drupal ձևանմուշների հետ, ինչ ձևանմուշներ կան Stable թեմայով, ինչպես վերասահմանել Stable կաղապարները և ինչպես վերասահմանել Drupal-ի տարբեր սուբյեկտների կաղապարները:
Այսպիսով, եկեք սկսենք Stable theme templates-ից, անցնենք Stable theme-ի կաղապարների պանակը.
Կաղապարները բաժանվում են ըստ ֆունկցիոնալ հատկանիշի.
/core/themes/stable/templates/admin - Դիտումների միջերեսի, էջերի և կառավարման տարրերի, հաղորդագրությունների և հաշվետվությունների ձևանմուշներ:
/core/themes/stable/templates/block - արգելափակման կաղապարներ.
/core/themes/stable/templates/content -հանգույցի ձևանմուշներ, մեկնաբանություն, դասակարգման տերմին, rss տարր, որոնման արդյունքներ:
/core/themes/stable/templates/content-edit - զտիչների և ձևաթղթերի խմբագրման ձևանմուշներ:
/core/themes/stable/templates/dataset - ֆորումի կաղապարներ, rss ալիքներ, աղյուսակներ, ցուցակ ul.
/core/themes/stable/templates/field - տարբեր տեսակի դաշտային կաղապարներ:
/core/themes/stable/templates/form - ձևի տարրերի ձևանմուշներ (տարբեր տեսակի դաշտեր):
/core/themes/stable/templates/layout - ձևանմուշներ page.html.twig էջի կառուցվածքի համար, տարածաշրջաններ, հիմնական html.html.twig ձևանմուշ - որտեղ ներկառուցված են մնացած բոլոր կաղապարները:
/core/themes/stable/templates/misc - RSS-ի կաղապարներ, RDF նշագրման պատկերակներ, Drupal հաղորդագրություններ, bar երի առաջընթաց:
/core/themes/stable/templates/navigation - մենյուների կաղապարներ, գրքեր (գրքի մոդուլ), փեյջեր, գործիքագոտի, ուղղահայաց ներդիրներ, հացի breadcrumbs:
/core/themes/stable/templates/user - օգտագործողի էջի ձևանմուշները, օգտվողի անունը, ստորագրությունը, ում կողմից տեղադրվել է ֆորումի գրառումը:
/core/themes/stable/templates/views - Views մոդուլի տարբեր տարրերի կաղապարներ:
Ինչպես տեսնում եք, Կայուն թեման տրամադրում է կաղապարների լայն տեսականի, որպեսզի շտկվի: Այս կաղապարները վերաիմաստավորելու համար պարզապես անհրաժեշտ է անհրաժեշտ ձևանմուշը պատճենել ձեր ենթաթեմայում և փոխել այն այնտեղ, ինչպես ցանկանում եք: Դուք կարող եք պատճենել բոլոր կաղապարները, բայց ես ձեզ խորհուրդ եմ տալիս անհրաժեշտության դեպքում պատճենել կաղապարները ենթաթեմայում:
Բովանդակության գերակայող ձևանմուշներ (կաղապարների առաջարկներ)
Դուք կարող եք վերասահմանել ոչ միայն գոյություն ունեցող ձևանմուշները, այլև ավելացնել ձեր սեփական ձևանմուշները առանձին հանգույցների, դասակարգման տերմինների, բլոկների և այլնի համար: Ահա ձևանմուշների փոխարինման որոշ օրինակներ:
HTML ձևանմուշ
HTML ձևանմուշը ներառում է HTML էջի հիմնական կառուցվածքը:
Հիմնական ձևանշում ։ html.html.twig (base location: core/modules/system/templates/html.html.twig)
Հետևյալ օրինակները ցույց են տալիս, թե ինչպես կարելի է վերացնել այս ձևանմուշը.
- html--internalviewpath.html.twig
- html--node--id.html.twig
- html.html.twig
interiorviewpath-ը ներքին ուղին է Drupal հանգույցի/15, տաքսոնոմիա/տերմին/46, օգտվող/2 և այլն:
Տես ավելի շատ ինֆորմացիա html.html.twig փաստաթղթում
Էջի ձևանմուշ
Չեղարկել ընտրանքները: page--[front|internal/path].html.twig
Հիմնական ձևանշում: page.html.twig (Հիմնական տեղը: core/modules/system/templates/page.html.twig)
Էջի հնարավոր ձևանմուշները շատ բազմազան են։ Գլխավոր էջի ձևանմուշը առաջին տեղում է: Մնացած բոլոր կաղապարները կախված են ներքին ուղուց: Առաջին էջը կարող է տեղադրվել էջի Կազմաձևում - Կայքի հիմնական կարգավորումներ - Առաջին էջ.
/admin/config/system/site-information
Մի շփոթեք ներքին ուղին փոխանունների հետ, օրինակ՝ լրատվական հանգույցը կարող է ունենալ /news/node-title ուղին, բայց իրականում հանգույցն ունի ներքին ուղի /node/node-id:
Հանգույցի խմբագրման էջի համար՝ 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 փաստաթղթում
Շրջաններ
Անտեսել ընտրանքները: region--[region].html.twig
Անտեսել ընտրանքները: region.html.twig (Հիմնական տեղը:core/modules/system/templates/region.html.twig)
Տարածաշրջանի ձևանմուշն օգտագործվում է, երբ տարածաշրջանն ունի բովանդակություն, որը ստեղծվել է բլոկային համակարգի կամ hook_page_build () ֆունկցիայի միջոցով: Հնարավոր է նշել տարածաշրջանների անվանումը թեմայի ֆայլում .info.yml:
Ավելի շատ ինֆորմացիա կարող ես կարդալ region.html.twig փաստաթղթումմ.
Բլոկներ
Անտեսել ընտրանքները: block--[module|--delta]].html.twig
Հիմնական ձևանշում: block.html.twig (base location: core / modules / block / templates / block.html.twig)
- block--module--delta.html.twig
- block--module.html.twig
- block.html.twig
«module» մոդուլի անվանումն է, որը ցուցադրում է տվյալ բլոկը, դելտան մոդուլի բլոկի ներքին id-ն է:
Օրինակ՝ block--block--1.html.twig-ը ադմինիստրատորի մոդուլի բլոկի միջոցով օգտագործողի կողմից ավելացված առաջին բլոկն է: Եթե դուք ունեք հատուկ մոդուլ, դուք ստեղծում եք բլոկ դելտա «my-block»-ով, ապա այս բլոկի ձևանմուշը կլինի block--custom--my-block.html.twig:
Views մոդուլի համար բլոկի ձևանմուշը վերասահմանվում է հետևյալ կերպ. վերցրեք «front_news» դիտման անվանումը և «block_1» դիտման ցուցադրման ID-ն, այնուհետև բլոկը վերացնելու համար կաղապարի անվանումը կլինի՝ block - views- բլոկ - front-news-block-1.html.twig
Նկատի ունեցեք, որ ընդգծումները փոխվում են մեկ գծիկով:
Drupal-ում դուք չեք կարող առանձին ձևանմուշ նշել որոշակի տարածաշրջանում գտնվող բլոկի համար, համենայն դեպս՝ առանց արկղից:
Նկատի ունեցեք նաև, որ օրինաչափությունների անունները մեծատառերի զգայուն են: Եթե ձեր մոդուլը կոչվում է MyModule, ապա բլոկի կաղապարի անունը կլինի block--MyModule.html.twig:
Ավելին իմանալու համար՝ block.html.twig.
Նյութեր (հանգույցներ)
Անտեսել տարբերակները: node--[type|nodeid]--[viewmode].html.twig
Հիմանակն ձևանշում: node.html.twig (հիմնական վայր: core/modules/node/templates/node.html.twig)
- node--nodeid--viewmode.html.twig
- node--nodeid.html.twig
- node--type--viewmode.html.twig
- node--type.html.twig
- node--viewmode.html.twig
- node.html.twig
Viewmode-ը հանգույցի ցուցադրման ցուցադրություն է՝ Full, Teaser, RSS, Token և այլ ցուցադրումներ: Տիպ - սա ձեր հանգույցի բովանդակության տեսակն է Նորություններ, հոդվածներ, էջեր: Nodeid-ը ձեր հանգույցի nid-ն է:
Տես ավելին՝ node.html.twig
Տաքսոնոմիայի տերմիններ
Անտեսել տարբերակները: taxonomy-term--[vocabulary-machine-name|tid].html.twig
Հիմնական ձևանշումներ: taxonomy-term.html.twig (base location: core / modules / taxonomy / templates / node.html.twig)
- taxonomy-term--tid.html.twig
- taxonomy-term--vocabulary-machine-name.html.twig
- taxonomy-term.html.twig
Բառարանների անվանումների բոլոր ընդգծումները պետք է փոխարինվեն գծիկներով:
Տես ավելին՝ taxonomy-term.html.twig
Դաշտեր
Անտեսել տարբերակները: field--[type|name[--content-type]|content-type].html.twig
Հիմնական ձևանշում: field.html.twig (base location: core/modules/system/templates/field.html.twig)
- field--field-name--content-type.html.twig
- field--content-type.html.twig
- field--field-name.html.twig
- field--field-type.html.twig
- field.html.twig
Նյութի տեսակների և դաշտերի անվանումների բոլոր ընդգծումները փոխարինվում են գծիկներով:
Տես ավելին՝ field.html.twig.
Մեկնաբանություններ
Անտեսել տարբերակները: comment--node-[type].html.twig
Հիմնական ձևանշում: comment.html.twig (հիմնական տեղ: core/modules/comment/templates/comment.html.twig)
Յուրաքանչյուր տեսակի նյութի համար կարող եք մեկնաբանությունների առանձին ձևանմուշ սահմանել: Օրինակ, comment--node-article.html.twig.
See more information in the comment.html.twig documentation.
Կարող եք նաև նշել առանձին ձևանմուշ՝ մեկնաբանություն փաթաթելու համար։
comment-wrapper--node-[type].html.twig
Հիմնական ձևանշում: comment-wrapper.html.twig (հիմնական տեղ: core/modules/comment/templates/comment-wrapper.html.twig)
Դիտումներ
Բոլոր Դիտումների ձևանմուշները կարող են վերասահմանվել՝ օգտագործելով մեքենայի դիտման անվանումը, ցուցադրման ID-ն, ցուցադրման տեսակը (էջ, բլոկ կամ այլ) կամ մեքենայի դիտման անվան, ցուցադրման ID-ի և ցուցադրման տեսակի համակցությունը:
Յուրաքանչյուր Դիտման համար օգտագործվում է առնվազն երկու ձևանմուշ: Առաջին կաղապարը views-view.html.twig է:
Երկրորդ կաղապարը որոշվում է դիտման ցուցադրման ոճով (օրինակ՝ չֆորմատավորված ցուցակ, աղյուսակ, ցանց, HTML ցուցակ): Լռելյայնորեն, չֆորմատավորված ֆիլտրի կաղապարն օգտագործվում է (պիտակների միջոցով) views-view-unformatted.html.twig:
Եթե մենք ցուցադրում ենք ոչ պատրաստ սուբյեկտներ (օրինակ՝ ամբողջական հանգույց կամ դրա թիզերը) Views-ի միջոցով, բայց ցուցադրում ենք դաշտերը, ապա Views-ն օգտագործում է դաշտի այլ ձևանմուշ, որը կարող ենք նաև վերասահմանել views-view-fields.html.twig դաշտերի ձևանմուշը։ .
Ստորև բերված են կաղապարների հնարավոր անունները, որոնք պետք է փոխարինվեն:
View Name - foobar (machine name)
Display format - unformatted (unformatted list, add possible options)
Record Display Style - fields
Display Name - page
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
Ֆորում
forums--[[container|topic]--forumID].html.twig
Հիմնական ձևանշումներ: forums.html.twig (հիմնական ձևեր: core/modules/forum/templates/forums.html.twig)
Դուք կարող եք առանձին ձևանմուշներ տեղադրել բեռնարկղերի և ֆորումի թեմաների համար.
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.
Սպասարկման ռեժիմ
maintenance-page--[offline].html.twig
Հիմնաան ձևանշում: maintenance-page.html.twig (հիմնական տեղ: core/modules/system/templates/maintenance-page.html.twig)
Տես ավելին՝ maintenance-page.html.twig.
Որոնման արդյունքներ
search-result--[searchType].html.twig
Հիմնական ձևանշում: search-result.html.twig (հիմնական տեղ: core/modules/search/templates/search-result.html.twig)
Օրինակ, եթե օգտագործում եք որոնում ըստ հանգույցների.
/search/node/Search+Term
ապա կարող եք օգտագործել "որոնման արդյունք - node.html.twig".
Օգտագործողների կողմից որոնելու համար.
search/user/bob
Օգտագործեք որոնման արդյունքների ձևանմուշը - user.html.twig.