logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri

9.4. Creazione di pagine per un account premium.

17/10/2025, by Ivan

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

permission

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.

drupalbook

Esempi di codice possono essere visualizzati su github:

https://github.com/levmyshkin/drupalbook8