logo

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

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

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

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

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

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

Scroll

Բլոգ

Աշխատանք տվյալների բազայի հետ Drupal 7-ում - Դաս 4 - Դինամիկ հարցումներ (SELECT)

12/05/2025, by Ivan

Հավանաբար մենք մոտեցել ենք Drupal-ի Database API-ի ամենահետաքրքիր հատվածին՝ դինամիկ հարցումներին: Դրանք անվանվում են դինամիկ, քանի որ Drupal-ը դինամիկ կերպով ավելացնում է հարցման տեքստը: Բոլոր ներմուծման, թարմացման, ջնջման կամ միավորման հարցումները կարող են լինել դինամիկ: Ընտրության հարցումները կարող են լինել թե՛ դինամիկ, թե՛ ստատիկ: Այնուամենայնիվ, խորհուրդ է տրվում օգտագործել դինամիկ հարցումներ՝ նույնիսկ ընտրության համար:

Ինչից է բաղկացած Drupal 7 մոդուլը։

12/05/2025, by Ivan

Նախքան սկսել մեր մոդուլի ստեղծումը, ես դեռ մի քիչ կպատմեմ Drupal API-ի հնարավորությունների մասին։ API-ն տալիս է լայն հնարավորություններ՝ աշխատելու Տաքսոնոմիայի, նոդերի, օգտագործողների, ԲԴ մուտքագրման և արտածման հետ։ Դրուպալում գոյություն ունի հուկերի համակարգ, որը նախատեսված է մոդուլների և միջուկի, ինչպես նաև մոդուլների միջև փոխկապակցության համար։ Հուկը հետադարձ կանչվող ֆունկցիա է (callback), այսինքն՝ երբ կոդի կատարումը հասնում է հուկին, կատարվում է մեր ֆունկցիայի կցում՝ որը մենք գրում ենք մեր մոդուլում։ Այդպես մենք կարող ենք մշակել օգտատիրոջ տվյալները, մենյուները, տաքսոնոմ

Drupal-ում մոդուլի ստեղծում, արագ մեկնարկ

12/05/2025, by Ivan

Սկսենք api.drupal.org կայքից, բացեք hook_node_presave() հուկի էջը, որը գործարկվում է նախքան նոդի ավելացումը։

http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7

Հուքերը թույլ են տալիս մեզ ներդնել մեր կոդը Դրուպալի ընթացիկ գործընթացների մեջ, ավելացնել ստուգումներ, տվյալների դաշտեր, ձևերի տարրեր և այլն։

Ավելացնենք մեր մոդուլը sites/all/modules թղթապանակում՝ հետևյալ կառուցվածքով․

Աշխատանք տվյալների բազայի հետ Drupal 7-ում - Դաս 12 - Հարցման պայմաններ (WHERE, HAVING, LIKE)

12/05/2025, by Ivan

Հարցման պայմանները թույլ են տալիս ընտրել միայն այն գրառումները, որոնք համապատասխանում են որոշակի սահմանափակումներին, օրինակ՝ երկու շաբաթից ավելի վաղ չստեղծված նոդերը, կամ տերմինները, որոնցում կա "դրուպալ" բառը։ SQL-ում մենք օգտագործում ենք WHERE և HAVING՝ սահմանափակումներ կիրառելու համար SELECT, UPDATE, DELETE հարցումների վրա։ Դինամիկ հարցումներում ևս իրականացված է պայմանների հետ աշխատելու մեխանիզմ։ Այս մեխանիզմը նույն կերպ է աշխատում բոլոր երեք տեսակի հարցումների համար՝ SELECT, UPDATE, DELETE։

Աշխատանք տվյալների բազայի հետ Drupal 7-ում - Դաս 11 - MERGE հարցումներ

12/05/2025, by Ivan

Միավորող հարցումները հատուկ հիբրիդ տեսակի հարցումներ են։ Չնայած SQL 2003-ում սահմանվել է այս հարցումների շարահյուսությունը, իրականում չկան տվյալների բազաներ, որոնք աջակցում են այդ շարահյուսությանը։ Այնուամենայնիվ, տվյալների բազաների մեծ մասը տրամադրում է այս ֆունկցիոնալության այլընտրանքային իրականացում՝ օգտագործելով յուրահատուկ շարահյուսություն։ Drupal-ում միավորող հարցման կոնստրուկտորը աբստրակցիա է իրականացնում այս գաղափարի շուրջ՝ կառուցելով այնպիսի օբյեկտ, որը հնարավոր կլինի կոմպիլացնել ըստ կոնկրետ բազայի առանձնահատկությունների։

Աշխատանք տվյալների բազայի հետ Drupal 7-ում - Դաս 9 - Թարմացման հարցումներ

12/05/2025, by Ivan

Թարմացման հարցումները միշտ պետք է օգտագործեն հարցման կոնստրուկտոր։ Տարբեր տվյալների բազաներ ունեն հատուկ մշակման մեթոդներ LOB (Large OBject, օրինակ՝ TEXT MySQL-ում) և BLOB (Binary Large OBject) դաշտերի համար, ուստի աբստրակցիայի մակարդակ անհրաժեշտ է, որպեսզի յուրաքանչյուր տվյալների բազայի վարորդ կարողանա ապահովել համապատասխան ֆունկցիոնալություն։

Թարմացման հարցումները պետք է սկսվեն db_update() ֆունկցիայից՝

Աշխատանք տվյալների բազայի հետ Drupal 7-ում - Դաս 8 - Հարցումների ներմուծում (INSERT INTO)

12/05/2025, by Ivan

Տեղադրման հարցումները միշտ պետք է իրականացվեն հարցումների կոնստրուկտորի միջոցով։ Որոշ տվյալների բազաներ պահանջում են հատուկ մշակման եղանակներ LOB (Large Object, օրինակ՝ MySQL-ում տեքստ) և BLOB (Binary Large Object) դաշտերի համար, այդ պատճառով անհրաժեշտ է աբստրակցիայի մակարդակ, որպեսզի յուրաքանչյուր տվյալների բազայի (ԴԲ) վարորդ կարողանա իրականացնել համապատասխան մշակման մեթոդները։

Տեղադրման հարցումը սկսվում է db_insert() ֆունկցիայի օգտագործմամբ՝

Աշխատանք տվյալների բազայի հետ Drupal 7-ում - Դաս 7 - Հարցման արդյունքների մշակում (fetch)

12/05/2025, by Ivan

Ընտրության հարցումը միշտ վերադարձնում է հարցման մշակման արդյունքը՝ 0 կամ ավել գրառում։ Կան մի քանի եղանակներ արդյունքը մշակելու համար, որոնք կարող եք օգտագործել ըստ անհրաժեշտության։

Ամենահաճախ օգտագործվող մեթոդը foreach() ցիկլն է՝ արդյունքների միջով անցնելու համար։

Աշխատանք տվյալների բազայի հետ Drupal 7-ում - Դաս 6 - Հարցման արագ փոփոխություն (hook_query_alter)

12/05/2025, by Ivan

Հարցման փոփոխում կատարման պահին

Դինամիկ ընտրության հարցումների կարևոր առանձնահատկությունն այն է, որ այլ մոդուլները կարող են փոփոխել հարցումները «թռիչքի վրա»։ Սա թույլ է տալիս այլ մոդուլներին ավելացնել իրենց հրահանգները հարցման մեջ՝ այդպիսով ազդելով դրա վարքագծի վրա կամ փոփոխություններ կիրառել կատարման պահին, օրինակ՝ սահմանել հասանելիության իրավունքներ նոդերի համար։ Կան հարցման փոփոխման երեք բաղադրիչ՝ tagging (պիտակավորում), meta data (մետա տվյալներ) և hook_query_alter()։