Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

9.4. Պրեմիում հաշվի էջերի ստեղծում:

19/04/2025, by Ivan

Menu

Այս դասում մենք կընդլայնենք մեր մոդուլի հնարավորությունները և կստեղծենք բովանդակություն, որը հասանելի կլինի միայն գրանցված օգտատերերին կամ որոշակի իրավունքներ ունեցողներին։

Կոդի օրինակները հասանելի են GitHub-ում՝
https://github.com/levmyshkin/drupalbook8

Եկեք սկսենք ավելացնելով նոր YML ֆայլ՝ մեր մոդուլի drupalbook.permissions.yml թղթապանակում՝

access premium pages:
  title: 'Մուտք Premium էջերին'
  description: 'Custom արտոնություն ձեր էջերի համար։'
  restrict access: TRUE

Այժմ գնացեք օգտատերերի իրավունքների էջ և համապատասխան դերում նշեք մուտքը Premium բովանդակությանը։ Ես դա կանեմ գրանցված օգտատերերի համար՝

/admin/people/permissions

permission

Այժմ 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;
}

Այժմ մաքրեք քեշը և ստուգեք, որ էջը հասանելի չէ չգրանցված օգտատերերին։

drupalbook

Կոդի օրինակները կրկին՝
https://github.com/levmyshkin/drupalbook8