Les modifications ne s’enregistrent pas.

Learn DXPR BuilderManage the siteEen probleem oplossen

Faites en sorte que vos modifications restent. Un enregistrement qui échoue vient presque toujours d’un problème entre le navigateur et Drupal, d’une session terminée ou d’un contenu modifié hors du builder.

Je vois « Server error: Unable to save field »

Quand vous cliquez sur Save, l’éditeur demande d’abord à /dxpr_builder/csrf un jeton de sécurité frais, puis envoie la page à /dxpr_builder/ajax. Si l’une de ces deux requêtes échoue, ce message s’affiche et rien n’est enregistré. Ouvrez l’onglet Network du navigateur, cliquez à nouveau sur Save et lisez le code de statut de ces deux requêtes.

  • 403, et rien de nouveau dans Recent log messages. Un pare-feu applicatif, une règle mod_security ou un proxy a rejeté la requête avant qu’elle n’atteigne Drupal. Signe typique : une page vide s’enregistre, une page longue non. Demandez à votre hébergeur d’autoriser les requêtes POST vers /dxpr_builder/ajax. Si un module de sécurité ou anti-spam inspecte chaque requête POST, excluez ce chemin.
  • 403 après une page restée ouverte longtemps. Votre session est terminée, ou votre compte a perdu Edit with DXPR Builder. Connectez-vous à nouveau dans un nouvel onglet, revenez et cliquez sur Save. Vos modifications sont toujours sur la page.
  • 500. PHP a échoué pendant l’enregistrement. Reports > Recent log messages (/admin/reports/dblog) affiche l’erreur. Pour « Allowed memory size exhausted », augmentez le memory_limit de PHP.
  • 404 ou 400. Vous modifiez une langue que le contenu n’a pas. Le journal dit « Attempted to save non-existent translation ». Ajoutez d’abord la traduction dans l’onglet Translate de la page.

Ma mise en page a disparu après modification du formulaire du nœud

CKEditor, dans le formulaire de modification du nœud, réécrit le HTML du builder, et un format de texte restreint en retire les classes et attributs.

  1. Accédez à Structure > Content types > (type) > Manage form display.
  2. Cachez le champ body du formulaire, ou donnez-lui Full HTML comme format de texte par défaut.
  3. Ne modifiez le contenu du builder que via le builder.

Pour retrouver la mise en page, ouvrez l’onglet Revisions de la page et revenez à la révision d’avant la modification du formulaire. Les enregistrements du builder affichent le message Saved with DXPR builder.

J’ai enregistré, mais une partie de la page est revenue en arrière

Chaque conteneur du builder sur la page a son propre bouton Save, par exemple un champ body et un bloc. Enregistrez chaque conteneur modifié avant de quitter la page. Le navigateur signale qu’un champ « might have unsaved changes » si vous partez trop tôt.

Annuler ne fonctionne plus

L’éditeur affiche « Failed to save history state, cannot undo and redo actions because the content item is too big. » L’historique d’annulation vit dans le stockage local du navigateur, qui a une limite de taille. Effacez les données du site pour ce domaine dans les réglages du navigateur. Cela ne supprime que l’historique d’annulation ; le contenu enregistré n’est pas touché.

Vérifier la correction

Cliquez sur Save. L’éditeur signale « Saved field » avec le nom du champ, et l’onglet réseau affiche un 200 sur /dxpr_builder/ajax. Rechargez dans une fenêtre privée : la modification est toujours là.

Et ensuite ?

Enregistrer le contenu pour comprendre comment révisions et publication interagissent avec les enregistrements du builder.