logo

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

Articles

20/06/2025, by Ivan

A diferencia de Drupal 7, crear múltiples instancias de un bloque para colocarlas en tu sitio es una tarea sencilla en Drupal 8.

En esta guía aprenderás cómo agregar programáticamente un bloque en la interfaz de diseño de bloques. Cómo agregar un formulario de configuración (administrativo) en el bloque y cómo manejarlo. Finalmente, aprenderás cómo agregar y mostrar valores de configuración predeterminados para el formulario.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Los bloques en Drupal 8 son instancias de plugins de bloque.
El Administrador de bloques de Drupal escanea tus módulos en busca de clases que contengan la anotación @Block.

El siguiente ejemplo de código usa la anotación @Block junto con las propiedades "id" y "admin_label" para definir un bloque personalizado.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Ahora digamos que queremos permitir al constructor del sitio introducir parte de la configuración para cada instancia de nuestro bloque personalizado. Siempre tenga en cuenta que toda la configuración del constructor del sitio en Drupal 8 puede exportarse desde el sitio de desarrollo e importarse al sitio en producción (conocido como Gestión de configuración).

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Agregue el siguiente método a la clase HelloBlock. En este ejemplo, se encuentra en el archivo src/Plugin/Block/HelloBlock.php, pero, a medida que comienza a pensar en un modo más orientado a objetos, la ubicación física en la estructura de archivos es menos importante que el espacio de nombres. Si usted es un programador OO muy inteligente, mantiene estas dos cosas muy alineadas.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Para usar la configuración de instancias del bloque, podemos modificar el método build() de la clase HelloBlock:

  /**
   * {@inheritdoc}
   */  
  public function build() {
    $config = $this->getConfiguration();

    if (!empty($config['hello_block_name'])) {
      $name = $config['hello_block_name'];
    }
    else {
      $name = $this->t('a nadie');
    }

    return [
      '#markup' => $this->t('¡Hola @name!', [
        '@name' => $name,
      ]),
    ];
  }

 

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Parte V de la Guía práctica para crear módulos básicos en Drupal 8
De .info a tests, solo lo básico

Recuerden que al comienzo de esta lección mencioné que íbamos a definir un bloque con un formulario? Bueno, ahora es el momento de abordarlo.

Source URL:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Esta guía incluye tutoriales para crear un tipo de campo personalizado, un widget y un formateador en Drupal 8.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Este tutorial fue publicado originalmente en Web Wash. Sin embargo, Berdir preguntó si podía publicarlo aquí, así que aquí está.

Un módulo en Drupal 7 permite almacenar ejemplos de código o fragmentos en un campo. Viene con un campo personalizado llamado "Campo de fragmentos" y muestra tres elementos de formulario: descripción, código fuente y modo de resaltado de sintaxis (qué lenguaje de programación).

Pero ahora es momento de actualizar el módulo para Drupal 8.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

En Drupal 8, todos los tipos de campo, widgets y formateadores son plugins.

Se descubren automáticamente si se colocan en la estructura de directorios esperada y usan la anotación correcta.

La estructura de directorios para un módulo que implemente los tres es la siguiente:

foo_bar_fields

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

20/06/2025, by Ivan

Los tipos de campo definen las propiedades y el comportamiento de los campos. Los tipos de campo se definen como plugins, por lo que se recomienda revisar la API de plugins antes de comenzar a escribir un nuevo tipo de campo.

Para crear un tipo de campo en Drupal 8, necesitas una clase con la anotación FieldType.

La ubicación de la clase del tipo de campo debe ser MODULE_NAME/src/Plugin/Field/FieldType
Ejemplo: /modules/foo/src/Plugin/Field/FieldType/BazItem.php

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.