Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll

9.4. Creación de páginas para una cuenta premium.

04/05/2025, by Ivan

En esta lección, ampliaremos las capacidades de nuestro módulo y crearemos contenido que estará disponible solo para usuarios registrados o usuarios con un rol específico.

Ejemplos de código disponibles en GitHub:

https://github.com/levmyshkin/drupalbook8

Comencemos agregando un nuevo archivo YML directamente en la carpeta del módulo drupalbook: drupalbook.permissions.yml

access premium pages:
  title: 'Acceder a páginas Premium'
  description: 'Un permiso personalizado para tus páginas.'
  restrict access: TRUE

Ahora ve a la página de permisos y asigna el acceso al contenido Premium para los roles necesarios. Yo lo haré para usuarios registrados:

/admin/people/permissions

permission

Ahora en el archivo drupalbook.routing.yml creamos una nueva ruta, en la que indicamos nuestro nuevo permiso y un nuevo método para mostrar el contenido:

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

Después de agregar la nueva ruta, es necesario limpiar la caché.

También necesitaremos agregar el método privateContent() a nuestra clase FirstPageController:

/**
 * Devuelve una página privada.
 *
 * @return array
 *   Un array renderizable simple.
 */
public function privateContent() {
  $element = array(
    '#markup' => 'Contenido privado',
  );
  return $element;
}

Ahora puedes limpiar la caché y verificar que nuestra página no está accesible para usuarios no registrados.

drupalbook

Ejemplos de código disponibles en GitHub:

https://github.com/levmyshkin/drupalbook8