Drupal-ում մոդուլի ստեղծում, արագ մեկնարկ
Սկսենք 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); }