logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll

9.4. Erstellen von Seiten für ein Premium-Konto.

27/05/2025, by Ivan

In dieser Lektion erweitern wir die Möglichkeiten unseres Moduls und erstellen Inhalte, die nur für registrierte Benutzer oder Benutzer mit einer bestimmten Rolle zugänglich sind.

Codebeispiele sind auf GitHub verfügbar:

https://github.com/levmyshkin/drupalbook8

Beginnen wir damit, eine neue YML-Datei direkt im Modulordner drupalbook.permissions.yml hinzuzufügen:

access premium pages:
  title: 'Zugriff auf Premium-Seiten'
  description: 'Eine benutzerdefinierte Berechtigung für Ihre Seiten.'
  restrict access: TRUE

Gehen Sie nun zur Seite für Zugriffsrechte und vergeben Sie den Zugriff auf Premium-Inhalte für die notwendigen Rollen. Ich werde dies für registrierte Benutzer tun:

/admin/people/permissions

Berechtigung

Erstellen Sie jetzt in drupalbook.routing.yml eine neue Route, in der Sie unsere neuen Rechte und eine neue Methode zur Inhaltsanzeige angeben:

drupalbook.private_content:
   path: '/private-page'
   defaults:
     _controller: '\Drupal\drupalbook\Controller\FirstPageController::privateContent'
     _title: 'Privater Inhalt'
   requirements:
     _permission: 'access premium pages'

Nach dem Hinzufügen einer neuen Route müssen Sie den Cache leeren.

Wir müssen auch die Methode privateContent() zu unserer FirstPageController-Klasse hinzufügen:

/**
 * Gibt eine private Seite zurück.
 *
 * @return array
 *   Ein einfaches renderbares Array.
 */
public function privateContent() {
  $element = array(
    '#markup' => 'Privater Inhalt',
  );
  return $element;
}

Nun können Sie den Cache leeren und überprüfen, dass unsere Seite für nicht registrierte Benutzer nicht zugänglich ist.

drupalbook

Codebeispiele sind auf GitHub verfügbar:

https://github.com/levmyshkin/drupalbook8