logo

Palette - Դարձրեք այն գունավոր🎨

Palette — Վիզուալ էջեր կառուցող, դիզայնի դիպլոմ չի պահանջվում:

Առցանց դեմո Ներբեռնել Palette

Scroll

Drupal WebForm մոդուլ։ Արտադրանքի պատվերի ձևի ստեղծում

12/05/2025, by Ivan

Եկեք վերադառնանք մեր ապրանքների կատալոգին, որը ստեղծել էինք նախորդ դասերից մեկում։ Կատալոգը հաջողությամբ լրացվում է և որոշ չափով ցուցադրվում է, սակայն ապրանքը պատվիրելը հետադարձ կապի ձևով բավականին անհարմար է․ պետք է պատճենել անվանումը, ապրանքի կոդը, հետո տեղադրել դրանք ձևում և գրել հաղորդագրություն։ Եկեք ստեղծենք ձև, որը կպարզեցնի պատվերի գործընթացը։ Դրա համար մեզ անհրաժեշտ կլինի Webform մոդուլը, որը ձևեր ստեղծելու համար է Դրուպալում։ Ձևով մենք կփոխանցենք ապրանքի անվանումը և քանակը, եթե Ձեզ անհրաժեշտ է նաև ապրանքի կոդը՝ կարող եք նաև այն փոխանցել՝ նույն սկզբունքով։

Ներբեռնեք և տեղադրեք Webform մոդուլը։

Տեղադրումից հետո պետք է հայտնվի բովանդակության նոր տիպ՝ Webform։ Ստեղծեք այս տիպի նյութ՝ անվանելով այն Ապրանքի պատվերի ձև (կամ ինչպես Ձեզ հարմար է)։ Ստեղծումից հետո դուք կտեղափոխվեք ձևի կարգավորման էջ։

Անհրաժեշտ է ստեղծել երկու դաշտ՝ ապրանքի անվանման և քանակի համար, դրա համար պետք կգան երկու textfield (տեքստային դաշտեր)։

Անվանման դաշտում գրեք՝ %get[product]

Drupal webform

Քանակի դաշտում կանխադրված արժեքը նշեք «1»։

Ավելացրեք նաև textfield դաշտ՝ էլ․ փոստի համար և text area՝ հաճախորդների ցանկությունների և մեկնաբանությունների համար։

%get[product] - նման է php-ի $_GET['product'] փոփոխականին, որը URL-ից վերցնում է արժեք։

Ձևը պատրաստ է։ Այժմ պետք է ստեղծել հղում դեպի այս ձևը՝ ավելացնելով product պարամետր, որտեղ կգրվի ապրանքի անվանումը։ Եկեք այս հղումը ձևավորենք որպես առանձին բլոկ, որը տեղադրվելու է յուրաքանչյուր ապրանքի նյութի ներքևի մասում։

Հաջորդ գործողությունները կատարելու համար անհրաժեշտ է միացնել PHP filter ներկառուցված մոդուլը, որը թույլ է տալիս PHP կոդ տեղադրել բլոկի կամ նյութի մեջ։ Միացնելուց հետո կհայտնվի նոր մուտքի ձևաչափ՝ PHP code։

Ստեղծեք նոր բլոկ և ընտրեք մուտքի ձևաչափ՝ PHP code։ Բլոկի տեքստում տեղադրեք հետևյալը՝

<a href="<?php print base_path(); ?>node/6?product=<?php print drupal_get_title(); ?>">Պատվիրել ապրանք</a>

որտեղ node/6-ը պատվերի վեբ-ձևի նոդի հասցեն է։

drupal_get_title() ֆունկցիան վերադարձնում է նոդի վերնագիրը, այս դեպքում՝ ապրանքի անվանումը, իսկ base_path() ֆունկցիան վերադարձնում է կայքի արմատային ուղին (օրինակ՝ drupalbook.org/)։ Այժմ պետք է բլոկը տեղադրել Բովանդակություն (Content) շրջանում։ Եվ սահմանել բլոկի տեսանելիություն՝ PHP ռեժիմով՝

$types['tovar'] = 1;
$match = false;
if ((arg(0) == 'node') && is_numeric(arg(1))) {
  $node = node_load(arg(1)); 
  $match = isset($types[$node->type]); 
} 
return $match;

Այստեղ tovar-ը Տեսակ (Content type) «Ապրանք»-ի մեքենայական անունն է։

Մեր ապրանքի պատվերի ձևը պատրաստ է։