Para esta necesidad haremos uso del módulo block_field (https://www.drupal.org/project/block_field). La funcionalidad que nos brinda este módulo es poder crear un tipo de campo en el cual podemos seleccionar bloques existentes en el sistema.
Nuestro primer paso es instalar el módulo. Luego de la instalación podemos ir a los tipos de contenido a la administración de los campos, para el ejemplo usaré "Página básica" para esto ir a la siguiente ruta "admin/structure/types/manage/page/fields".
Ahora damos clic en el boton "Add field" para poder agregar un campo de tipo “Block (plugin)”.
Ahora vemos la configuración del campo. Nos permite definir un valor por defecto.
Las opciones que se muestran en la imagen anterior las podemos definir configurando los bloques disponibles, como se muestra en la siguiente imagen.
Bueno ya no hay mas por configurar, esas configuraciones bastan para nuestro campo. Y ahora cuando vamos a crear un contenido se muestra un control select similar al que vimos cuando definimos el valor por defecto.
Un caso particular para el uso de este módulo sería que siempre se agregue el mismo bloque, es decir que su valor sea constante. Para esto definimos un valor por defecto. Luego ocultamos el campo del formulario de creación para que no puedan cambiarlo cuando se crea el contenido nuevo.
En el desarrollo de las configuraciones mencionadas se encontró un error el cual se da al cambiar la configuración del campo.
- Definimos un valor por defecto para el campo, luego guardamos la configuración. Nos muestra que se guardó con éxito.
- El siguiente paso es entrar otra vez a la configuración del campo y darle clic al botón para guardar las configuraciones, esto nos muestra el siguiente error.
En el log de drupal nos muestra lo siguiente.
Para solucionar el error encontrado, debemos aplicar el siguiente parche para el módulo block_field https://www.drupal.org/files/issues/block_field_settings_null_0.patch
“Para aplicar el parche es necesario crear un archivo con la extensión patch, ejemplo: block_field_settings_null_0.patch dentro del módulo block_field. Luego iniciar git con el comando git init. Seguido aplicar el parche con el comando git apply -v block_field_settings_null_0.patch”
Y eso es todo, al aplicar el parche ya podremos cambiar la configuración del campo sin problemas.
Me pareció interesante el artículo
Añadir nuevo comentario