9.4. Պրեմիում հաշվի էջերի ստեղծում:
Այս դասում մենք կընդլայնենք մեր մոդուլի հնարավորությունները և կստեղծենք բովանդակություն, որը հասանելի կլինի միայն գրանցված օգտատերերին կամ որոշակի իրավունքներ ունեցողներին։
Կոդի օրինակները հասանելի են GitHub-ում՝
https://github.com/levmyshkin/drupalbook8
Եկեք սկսենք ավելացնելով նոր YML ֆայլ՝ մեր մոդուլի drupalbook.permissions.yml
թղթապանակում՝
access premium pages:
title: 'Մուտք Premium էջերին'
description: 'Custom արտոնություն ձեր էջերի համար։'
restrict access: TRUE
Այժմ գնացեք օգտատերերի իրավունքների էջ և համապատասխան դերում նշեք մուտքը Premium բովանդակությանը։ Ես դա կանեմ գրանցված օգտատերերի համար՝
/admin/people/permissions
Այժմ drupalbook.routing.yml
ֆայլում ավելացրեք նոր երթուղի (route), որտեղ նշում ենք նոր արտոնությունը և նոր մեթոդը՝ բովանդակություն ցուցադրելու համար․
drupalbook.private_content:
path: '/private-page'
defaults:
_controller: '\Drupal\drupalbook\Controller\FirstPageController::privateContent'
_title: 'Մասնավոր բովանդակություն'
requirements:
_permission: 'access premium pages'
Երթուղին ավելացնելուց հետո անհրաժեշտ է մաքրել քեշը։
Այժմ մեր FirstPageController
դասում ավելացնենք privateContent()
մեթոդը՝
/**
* Վերադարձնում է մասնավոր էջ։
*
* @return array
* Պարզ ցուցադրվող զանգված։
*/
public function privateContent() {
$element = array(
'#markup' => 'Մասնավոր բովանդակություն',
);
return $element;
}
Այժմ մաքրեք քեշը և ստուգեք, որ էջը հասանելի չէ չգրանցված օգտատերերին։
Կոդի օրինակները կրկին՝
https://github.com/levmyshkin/drupalbook8