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

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

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

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

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

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

Scroll

Դիտումների համատեքստային ֆիլտրեր, հարաբերություններ - արգումենտներ և հարաբերություններ (կապեր)

12/05/2025, by Ivan

Այս դասում ես հատուկ ուշադրություն կդարձնեմ Views-ում արգումենտների (contextual filters) հետ աշխատանքին։ Արգումենտներ են համարվում URL-ի այն մասերը, որոնք փոխանցվում են հասցեում, օրինակ՝

node/15
Առաջին արգումենտը՝ node, երկրորդը՝ 15
taxonomy/term/10
Առաջին՝ taxonomy, երկրորդ՝ term, երրորդ՝ 10
user/67
Առաջին՝ user, երկրորդ՝ 67

Կարծում եմ, որ օրինակները հստակ են և բացատրության կարիք չունեն։

Արգումենտները կարելի է ստանալ՝ օգտագործելով arg() ֆունկցիան՝

<?php
print arg(0) . '<br />';
print arg(1);
?>

Եթե URL-ը node/15 է, ապա կցուցադրվի՝

node
15

arg ֆունկցիայի արգումենտների համարակալումը սկսվում է 0-ից։ Այժմ դիտարկենք, թե ինչ պատրաստի լուծումներ կան Views մոդուլում։

Օգտատիրոջ նոդերի ցուցադրում

Ենթադրենք՝ գտնվում ենք user/1 էջում և ցանկանում ենք ցուցադրել այդ uid=1 ունեցող օգտատիրոջ բոլոր նոդերը։ Դրա համար կօգտագործենք արգումենտ URL-ից։

Ստեղծում ենք նոր view՝ բլոկի տեսքով, դաշտերում նշում ենք node-ի title դաշտը, ցույց ենք տալիս միայն հրապարակված նոդերը, դասավորում ենք ըստ Post date դաշտի (նվազման կարգով)։

Վերնագիր
Վերնագիր՝ user_nodes
Ցուցադրման ձև
Unformatted list | Կարգավորումներ
Ցուցադրել՝ Fields | Կարգավորումներ
Դաշտեր
Բովանդակություն՝ Վերնագիր
Ֆիլտրեր
Բովանդակություն՝ Հրապարակված (Այո)
Դասավորում
Բովանդակություն՝ Post date (նվազման կարգով)
Էջատում
Օգտագործել pager՝ Ցուցադրել 15 տարր
More link՝ Ոչ

Այժմ սեղմում ենք՝ Contextual filters (նախկինում arguments)։ Ընտրում ենք՝
Բովանդակություն՝ Author uid

Այնուհետև՝

When the filter value is NOT available
  Provide default value
    User ID from URL
      Provide default value

Views contextual filters

Պահպանում ենք view-ը։ Տեղադրում ենք բլոկը համապատասխան շրջանում և երբ բացենք user/1 էջը, բլոկում կցուցադրվեն uid=1 ունեցող օգտատիրոջ բոլոր նոդերը։

Կապակցված նոդերի ցուցադրում

Այժմ օրինակը կբարդացնենք։ Ենթադրենք՝ անհրաժեշտ է մի նոդի հետ կապել մի քանի այլ նոդեր։ Դրա համար օգտագործվում են node reference դաշտեր։ Դրանք հասանելի են References մոդուլի և դրա ենթամոդուլների օգնությամբ։

http://drupal.org/project/references

Դաշտերը թույլ են տալիս մի նոդին միացնել մի քանի օգտատեր և մի քանի այլ նոդ՝ միաժամանակ։ Դրա համար օգտագործվում է node reference դաշտ։ Քանի որ Դրուպալ 7-ում հնարավոր է դաշտեր ավելացնել ցանկացած էությանը, կարելի է կապել ցանկացած տեսակի էություններ։

Իմ կայքում կան 4 նորություն, և ես ցանկանում եմ երկրորդ նորությանն ավելացնել կապ՝ առաջին և երրորդ նորությունների հետ, քանի որ դրանք նման թեմաներ են։

Մտնում ենք «Նորություն» տեսակի դաշտերի կառավարում և ավելացնում ենք node reference դաշտ՝ ավտոմատ լրացման հնարավորությամբ։ Կկոչենք «Նմանատիպ նորություններ»։ Ընտրում ենք՝ որ բովանդակության տեսակների հետ կարող է կապ լինել, նշում ենք կապի հնարավոր նոդերի քանակը։ Ես ընտրում եմ միայն «Նորություն»-ը։ Պահպանում ենք դաշտը։ Այժմ խմբագրում ենք երկրորդ նոդը, այնտեղ կհայտնվի «Նմանատիպ նորություններ» դաշտը՝ node reference տիպով։

Drupal reference field

Իհարկե նոդերի վրա արդեն կցուցադրվեն կապված նորությունները, սակայն մեր նպատակը view-ի միջոցով ցուցադրելն է։ Ստեղծում ենք նոր view՝ կրկին բլոկի տեսքով։

Վերնագիր:
similar_news
Ցուցադրման ձև:
Unformatted list | Կարգավորումներ
Ցուցադրել՝ Fields | Կարգավորումներ
Դաշտեր
Բովանդակություն՝ Վերնագիր
Ֆիլտրեր
Բովանդակություն՝ Հրապարակված (Այո)
Բովանդակություն՝ Տեսակ (= Նորություն)
Դասավորում
Բովանդակություն՝ Post date (նվազման կարգով)
Pager
Օգտագործել pager՝ Ցուցադրել 5 տարր

Ավելացնում ենք Contextual filter՝ Բովանդակություն: Nid։ Այս անգամ ընտրում ենք՝

When the filter value is NOT available
  Provide default value
    Content ID from URL

Այժմ՝ Relationships բաժնում ավելացնում ենք՝ Բովանդակություն: Նմանատիպ նորություններ (field_similar)։ Եթե դաշտն ուրիշ անուն ունի, ընտրեք համապատասխան դաշտը։ Ուշադրություն դարձրեք՝ կա նաև «reverse» տարբերակ։ Սա նշանակում է՝ ցուցադրվելու են կապի հակառակ ուղղությամբ տրված նոդերը։ Այսինքն՝ եթե գտնվենք Նորություն 3-ի էջում, կցուցադրվի Նորություն 2, որը կապել ենք Նորություն 1 և Նորություն 3-ի հետ։

Վերջնական պարամետրերը՝

Contextual filters
Բովանդակություն՝ Nid
Relationships
Բովանդակություն՝ Նմանատիպ նորություններ

Այժմ մեր դաշտում պետք է նշել՝ որ կապն օգտագործել։ Field-ում՝ փոխարինել «Do not use a relationship»՝ կապի անվանումով։
Դաշտ
(field_similar) Բովանդակություն՝ Վերնագիր

Պահպանում ենք view-ը, և բլոկը տեղադրում ենք ցանկալի շրջանում։

Այժմ Նորություն 2 էջում՝ բլոկում կցուցադրվեն Նորություն 1 և Նորություն 3՝ որպես նմանատիպ նորություններ։