9.4. Pagina's maken voor een premium account.
In deze les breiden we de mogelijkheden van onze module uit en creëren we content die alleen beschikbaar zal zijn voor geregistreerde gebruikers of gebruikers met een specifieke rol.
Codevoorbeelden kunnen worden bekeken op github:
https://github.com/levmyshkin/drupalbook8
Laten we beginnen met het toevoegen van een nieuw YML-bestand in onze drupalbook.permissions.yml modulemap:
access premium pages:
title: 'Toegang Premium pagina's'
description: 'Een aangepaste machtiging voor jouw pagina's.'
restrict access: TRUE
Ga nu naar de pagina voor toegangsrechten en stel toegang in voor Premium content voor de benodigde rollen, ik zal dit doen voor geregistreerde gebruikers:
/admin/people/permissions
Maak nu in drupalbook.routing.yml een nieuwe route aan, waarin we onze nieuwe rechten en een nieuwe methode voor het weergeven van content aangeven:
drupalbook.private_content:
path: '/private-page'
defaults:
_controller: '\Drupal\drupalbook\Controller\FirstPageController::privateContent'
_title: 'Private content'
requirements:
_permission: 'access premium pages'
Na het toevoegen van een nieuwe route, moet je de cache leegmaken.
We moeten ook de privateContent () methode toevoegen aan onze FirstPageController klasse:
/**
* Retourneert een privépagina.
*
* @return array
* Een eenvoudige renderbare array.
*/
public function privateContent() {
$element = array(
'#markup' => 'Private content',
);
return $element;
}
Nu kun je de cache leegmaken en verifiëren of onze pagina niet toegankelijk is voor niet-geregistreerde gebruikers.
Codevoorbeelden kunnen worden bekeken op github: