9.4. प्रीमियम खाता के लिए पृष्ठ बनाना।
इस पाठ में, हम अपने मॉड्यूल की क्षमताओं का विस्तार करेंगे और ऐसी सामग्री बनाएंगे जो केवल पंजीकृत उपयोगकर्ताओं या एक विशिष्ट भूमिका वाले उपयोगकर्ताओं के लिए उपलब्ध होगी।
कोड उदाहरण GitHub पर देखे जा सकते हैं:
https://github.com/levmyshkin/drupalbook8
आइए हम अपने drupalbook.permissions.yml मॉड्यूल फ़ोल्डर में एक नया YML फ़ाइल जोड़ने से शुरुआत करें:
access premium pages:
title: 'Access Premium pages'
description: 'A custom permission for your pages.'
restrict access: TRUE
अब एक्सेस अधिकार पृष्ठ पर जाएं और आवश्यक भूमिकाओं के लिए प्रीमियम सामग्री तक पहुँच सेट करें, मैं यह पंजीकृत उपयोगकर्ताओं के लिए करूंगा:
/admin/people/permissions
अब drupalbook.routing.yml में एक नया रूट बनाएं, जिसमें हम अपने नए अधिकार और सामग्री प्रदर्शित करने के लिए एक नई विधि निर्दिष्ट करेंगे:
drupalbook.private_content:
path: '/private-page'
defaults:
_controller: '\Drupal\drupalbook\Controller\FirstPageController::privateContent'
_title: 'Private content'
requirements:
_permission: 'access premium pages'
नया रूट जोड़ने के बाद, आपको कैश साफ़ करना होगा।
हमें अपनी FirstPageController क्लास में privateContent() विधि भी जोड़ने की आवश्यकता होगी:
/**
* Returns a private page.
*
* @return array
* A simple renderable array.
*/
public function privateContent() {
$element = array(
'#markup' => 'Private content',
);
return $element;
}
अब आप कैश साफ़ कर सकते हैं और यह सत्यापित कर सकते हैं कि हमारी पृष्ठ अवांछित उपयोगकर्ताओं के लिए उपलब्ध नहीं है।
कोड उदाहरण GitHub पर देखे जा सकते हैं: