Uno de las cosas que tenemos que entender cuando trabajamos con Drupal es que tenemos algunas entidades que funcionan a la vez como contenido y como entidad de configuración.
Drupal tiene un sistema de sincronización de configuraciones que es muy potente, y a su vez tiene módulos que extienden la sincronización de estas entidades con esa doble característica.
Existen varios de estos módulos, algunos de ellos los he probado en el pasado y reconozco que no se como están en 2025; vaya esto por delante.
Una de las cosas que vi en su día es que la sincronización funcionaba bien excepto cuando estas entidades llevaban asociadas files, en ese momento teníamos el problema de que la configuración generaba el yml pero el recurso multimedia que se había asociado no se sincronizaba por lo que o se subía a mano (no siempre se pueden subir a mano a según que servidores) o teníamos un problema.
El módulo block placeholder nos ayuda a solucionar en cierta manera esto,
¿Cómo lo hace Block Placeholder?
Genera un tipo de bloque que es únicamente configuración, no se le puede añadir campos, únicamente un nombre y definir que ese placeholder se pueda usar por uno o más bloques a la vez; esto sería que el placeholder pinta un único bloque o que pinte uno, dos, tres... bloques, y también definimos que tipos de bloque vamos a usar con ese placeholder.
Aquí un ejemplo del yml que genera el módulo de una entidad de configuración de block placeholder:
uuid: cf4113bd-c132-456a-aa59-b609009f81cd
langcode: en
status: true
dependencies: { }
id: imagen_de_prueba_placeholder
label: 'Imagen de prueba placehodler'
reference_limit_type: unlimited
reference_limited_value: 1
block_types:
imagen: imagen
sequence: null
Una vez tenemos creaco el placeholder, lo único que tenemos que hacer es crear el bloque en admin/content/block o editarlo si lo tenemos creado y en la sección de placeholder identificar el placeholder con el que queremos relacionarlo.
Los peros
Al principio suele ser tedioso andar creando en un entorno los bloques de tipo contenido, y luego tener que asociarlos a los placesholder, pero una vez que un bloque de contenido está creado se puede asociar al placeholder de forma manual o se puede usar un hook_post_update o hook_deploy para sincronizar la relación entre bloques de contenido y placeholder si fuera necesario.
En mi caso lo he empezado a usar en páginas que se construyen con la entidad views de drupal y el bloque va fuera de la vista, en una región superior, así que la configuración es añadir el placeholder y en el entorno de producción se configura la relación entre el placeholder y el bloque con el contenido.
Se puede usar también en bloques que no aparecen en admin/content/block pero en ese caso no veo tanta necesidad de hacerlo.

Top comments (0)