drupal

Formulario personalizado en un bloque

En este artículo vamos a ver una forma sencilla de añadir un formulario a un bloque a través de un módulo personalizado.

Este artículo se complementa con el siguiente artículo: Formulario personalizado y almacenamiento en base de datos 

En ese anterior articulo hemos creado un módulo personalizado llamado asuform donde creamos un formulario que pueda almacenar información en una tabla nueva, para esta ocasión solo necesitaremos al formulario.

Primero debemos crear el archivo AsuformBlock.php en la siguiente estructura

asuform/src/Plugin/Block/AsuformBlock.php

 

<?php
/**
 * @file
 * Contains \Drupal\asuform\Plugin\Block\AsuformBlock.
 */

namespace Drupal\asuform\Plugin\Block;

use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormInterface;

/**
 * Provides a 'asuform' block.
 *
 * @Block(
 *   id = "asuform_block",
 *   admin_label = @Translation("Asuform block"),
 *   category = @Translation("Custom asuform block example")
 * )
 */
class AsuformBlock extends BlockBase {

  /** 
   * {@inheritdoc}
   */
  public function build() {

    $form = \Drupal::formBuilder()->getForm('Drupal\asuform\Form\AsuformForm');                                                                   

    return $form;
   }   
}

 

Limpiamos caché y nos vamos a colocar nuestro nuevo bloque:

/admin/structure/block

Ubicamos la región donde queremos ubicar el bloque y damos clic en el boton que se encuentra a su lado.

colocar bloque

 

Dentro de las opciones ubicamos a nuestro bloque y lo colocamos

bloque encontrado

 

Luego podremos revisar donde hemos ubicado nuestro bloque, que el mismo se mostrará.

Bloque colocado

 

Me pareció interesante el artículo

Deseo más información

O también puedes comunicarte con nosotros.

por whatsapp por whatsapp

Añadir nuevo comentario

Me gustaría más información sobre:

CAPTCHA