9.4. Creazione di pagine per un account premium.
In questa lezione, espanderemo le funzionalità del nostro modulo e creeremo contenuti che saranno disponibili solo per gli utenti registrati o per gli utenti con un ruolo specifico.
Esempi di codice possono essere visualizzati su github:
https://github.com/levmyshkin/drupalbook8
Iniziamo aggiungendo un nuovo file YML direttamente nella cartella del nostro modulo drupalbook.permissions.yml:
access premium pages:
title: 'Accesso alle pagine Premium'
description: 'Una permesso personalizzato per le tue pagine.'
restrict access: TRUE
Ora vai alla pagina dei diritti di accesso e imposta l'accesso ai contenuti Premium per i ruoli necessari, lo farò per gli utenti registrati:
/admin/people/permissions
Ora in drupalbook.routing.yml crea una nuova rotta, in cui indichiamo i nostri nuovi diritti e un nuovo metodo per visualizzare il contenuto:
drupalbook.private_content:
path: '/private-page'
defaults:
_controller: '\Drupal\drupalbook\Controller\FirstPageController::privateContent'
_title: 'Contenuti privati'
requirements:
_permission: 'access premium pages'
Dopo aver aggiunto una nuova rotta, è necessario svuotare la cache.
Avremo anche bisogno di aggiungere il metodo privateContent () alla nostra classe FirstPageController:
/**
* Restituisce una pagina privata.
*
* @return array
* Un semplice array renderizzabile.
*/
public function privateContent() {
$element = array(
'#markup' => 'Contenuti privati',
);
return $element;
}
Ora puoi svuotare la cache e verificare che la nostra pagina non sia accessibile agli utenti non registrati.
Esempi di codice possono essere visualizzati su github: