web-dev-qa-db-fra.com

tinymce ajouter p tags automatiquement?

J'utilise tinymce et l'enregistre dans une base de données.

Lorsque je modifie le contenu enregistré à l’aide de tinymce et que je le sauvegarde à nouveau, une balise p est insérée au début.

La modification répétée du contenu laisse un grand vide au début du contenu.

Est-ce que quelqu'un connaît une solution?

40
panthro

TinyMce ajoute automatiquement "<p>" dans les nouvelles lignes . Vous pouvez définir cette option dans l'initialisation de tinyMce comme suit:

  tinyMCE.init({
      mode : "textareas",
      theme : "advanced",
      force_br_newlines : false,
      force_p_newlines : false,
      forced_root_block : '',
  });

J'espère que ça va aider

Fonski

89
Fonski

Je suis sûr que la réponse de @Fonski est correcte, mais je pensais que je mettrais à jour cette information pour quiconque le ferait ne savait pas où placer le code. J'ai placé le texte suivant dans mon fichier _config.php pour le faire fonctionner:

$defaultEditorConfig = HtmlEditorConfig::get('cms');
$defaultEditorConfig->setOptions(
    array(
        'mode'              => 'textareas',
        'theme'             => 'advanced',
        'force_br_newlines' => false,
        'force_p_newlines'  => false,
        'forced_root_block' => ''
    )
);

Remarque: Si vous souhaitez simplement supprimer la balise p qui enveloppe automatiquement les balises d'image (etc.), il vous suffit de définir l'option 'forced_root_block' => ''.

EDIT: Ce conseil s’adresse à ceux qui utilisent SilverStripe, j’ai écrit ceci en pensant que les questions étaient spécifiques à SilverStripe.

4
nickspiel

Pour moi, cela a fonctionné en faisant "force_br_newlines: true" au lieu de false.

 tinyMCE.init({
      mode : "textareas",
      theme : "advanced",
      force_br_newlines : true,
      force_p_newlines : false,
      forced_root_block : ''
  });

J'espère que ça aide

3
Learner

De tinymce.js v4.1.10 code:

newBlockName = (settings.force_p_newlines ? 'p' : '') || settings.forced_root_block;

Donc, la clé pour éviter <p> semble être comme indiqué précédemment

settings.force_p_newlines = false

et

settings.forced_root_block = ''
0
Fernando Gabrieli