9.4. Kreiranje stranica za premium naloge.
U ovoj lekciji proširićemo mogućnosti našeg modula i kreirati sadržaj koji će biti dostupan samo registrovanim korisnicima ili korisnicima sa određenom ulogom.
Primere koda možete pogledati na github-u:
https://github.com/levmyshkin/drupalbook8
Počnimo tako što ćemo dodati novi YML fajl direktno u folder našeg modula drupalbook.permissions.yml:
access premium pages:
title: 'Pristup premium stranicama'
description: 'Prilagođena dozvola za vaše stranice.'
restrict access: TRUE
Sada idite na stranicu sa podešavanjem pristupnih prava i podesite pristup premium sadržaju za neophodne uloge, ja ću to uraditi za registrovane korisnike:
/admin/people/permissions
Sada u drupalbook.routing.yml kreirajte novu rutu, u kojoj navodimo naša nova prava i novu metodu za prikaz sadržaja:
drupalbook.private_content:
path: '/private-page'
defaults:
_controller: '\Drupal\drupalbook\Controller\FirstPageController::privateContent'
_title: 'Privatni sadržaj'
requirements:
_permission: 'access premium pages'
Nakon dodavanja nove rute, potrebno je očistiti keš.
Takođe treba dodati metodu privateContent() u našu klasu FirstPageController:
/**
* Vraća privatnu stranicu.
*
* @return array
* Jednostavan niz za prikaz.
*/
public function privateContent() {
$element = array(
'#markup' => 'Privatni sadržaj',
);
return $element;
}
Sada možete očistiti keš i proveriti da naša stranica nije dostupna neregistrovanim korisnicima.
Primere koda možete pogledati na github-u: