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

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

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

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

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

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

Scroll

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 թղթապանակում՝ հետևյալ կառուցվածքով․

sites/all/modules/custom/

sites/all/modules/custom/custom.info

sites/all/modules/custom/custom.module

custom.info ֆայլում գրեք՝

name = Custom
description = Custom
core = 7.x

custom.module ֆայլում կատարենք ստուգում, որ բոդի դաշտում ինչ-որ բան մուտքագրված լինի։ Եթե դաշտը դատարկ է, կցուցադրենք սխալ (չնայած նույնն էլ կարելի էր անել ադմին հատվածում՝ դաշտը պարտադիր դարձնելով, բայց...):

custom.module

<?php

function custom_node_validate($node){
  if (empty($node->body['und'][0]['value'])) {
    form_set_error('node-body', 'Body is empty'); // Ցուցադրում ենք սխալը և այդ կերպ նոդը չի պահվում
  }
}

Մեր դեպքում, երբ կայքում լեզուն միայն մեկն է և դա էլ und է (undefined - չսահմանված), ապա ստուգում ենք body դաշտի առաջին textarea-ի արժեքը (չէ՞ որ հնարավոր է դաշտի համար մի քանի textarea թույլ տալ):

Օգտագործեք devel մոդուլը և դրա dsm() ֆունկցիան՝ էկրանին օբյեկտ կամ զանգված տպելու համար․

<?php

function custom_node_view($node){
  dsm($node);
}