Transformations de blocs (Block Transforms)

Définition : Les transformations de blocs décrivent comment convertir un bloc ou un autre contenu en un type de bloc compatible. Elles peuvent préserver les informations éditoriales lors du changement de structure.

Comprendre et utiliser

À quoi cela sert ?

Elles limitent les ressaisies lorsque le rédacteur change une présentation : transformer un paragraphe en titre ou reprendre certains attributs dans un autre type.

Comment cela fonctionne ?

La configuration transforms peut déclarer des conversions to et from. Une fonction transform fabrique le ou les nouveaux blocs, en tenant compte des attributs reçus.

Dans quel contexte l’utiliser ?

À utiliser lorsque deux types de blocs représentent des données proches mais doivent être convertis sans perdre leur contenu.

Cas concret : ATOOLPHA

Une extension ATOOLPHA pourrait convertir un bloc Citation spécialisé en paragraphe simple, en conservant le texte et en perdant volontairement la présentation propre.

Exemple de code commenté

Extrait documentaire : le contexte WordPress du plugin/éditeur et les dépendances décrites sont nécessaires ; ne pas coller dans le contenu d’une page.

const { createBlock } = wp.blocks;
const transform = {
    type: 'block',
    blocks: [ 'core/paragraph' ],
    transform: ( { content } ) => createBlock( 'core/quote', {
        value: content,
    } ),
};
// À déclarer dans la propriété transforms.from du bloc cible.

Décryptage de l’exemple

Le transform présenté est un objet de conversion à intégrer à une définition de bloc appropriée. Le résultat utilise createBlock() pour fabriquer une nouvelle instance de type core/quote.

Résultat attendu

Une transformation correctement déclarée peut apparaître dans les commandes contextuelles lorsque les types et conditions sont compatibles.

Atelier pratique de vérification

Préparer une transformation entre deux types simples disposant d’attributs connus. Insérer un contenu avec texte formaté puis déclencher la conversion. Comparer les champs sauvegardés avant et après. Vérifier ensuite les cas limites : valeur manquante, plusieurs blocs enfants et absence d’équivalent dans le bloc cible.

Précautions et limites

Tester la correspondance des attributs réels : les blocs natifs n’utilisent pas nécessairement les mêmes clés. Ce fragment est une illustration de structure et non une conversion universelle garantie.

Contrôle avant intégration dans un plugin

Avant validation, tester plusieurs textes et attributs possibles, y compris les valeurs absentes. Les conversions doivent expliciter ce qu’elles conservent, ce qu’elles abandonnent et la façon de revenir à l’ancien type.

À ne pas confondre

Transformer un bloc modifie son type/sa structure ; changer son style visuel conserve généralement le même type.

Diagnostic et dépannage avancés

Si une conversion perd le texte, vérifier les clés d’attribut du bloc source et de destination, puis écrire un test de conversion sur des données représentatives.

Notions associées

  • Variations de blocs
  • Attributs de bloc
  • Bloc WordPress

Références officielles

Bouton retour en haut de la page