web-dev-qa-db-fra.com

Comment empêcher JCE de supprimer / remplacer les divs lors du copier / coller

J'ai essayé tellement de choses et je n'arrive toujours pas à faire ce travail.

Dans Joomla 2.5.20, avec JCE 2.3.4.4, sur un Mac, j'ai le scénario suivant:

Dans l'éditeur, j'ai un ensemble de divs, et si je les sélectionne (soit visuellement en faisant glisser le curseur, soit en cliquant sur le chemin) et les copie avec cmd + copy, quand je le colle (via le raccourci, ou le dialogue de collage), le contenu collé n'a pas de <div> _ parce qu'ils ont été convertis en <br>'s!

Une chose que j’ai remarquée, c’est que le contenu collé dans la boîte de dialogue Coller contient les divs, de sorte que la conversion/extraction est effectuée lors du placement dans l’éditeur, pas lors de la copie!

Je voudrais qu'il ne dépouille pas le <div> ni ne le convertit en rien d’autre.

J'ai essayé d'ajouter div aux "tags de garde" (profils> [mon profil]> paramètres du plugin> presse-papiers), mais cela ne fait qu'aggraver le problème, cela supprime non seulement le <div> tag mais aussi tous les autres tags.

J'utilise le super-administrateur, qui ne dispose pas de filtrage de texte, et le profil JCE ne comporte ni le "code HTML de nettoyage" ni le "code HTML de validation". Tous les autres filtres de JCE sont désactivés (ne supprimez pas les attributs de classe, etc.).

Quelqu'un a une solution pour cela?

2
jackJoe

Je comprends ce que vous essayez d'accomplir, mais je ne pense pas que vous trouverez un WYSIWYG qui vous permettra de copier du texte, puis de le coller à nouveau avec le code HTML intact et d'être confiant qu'il ne se cassera pas. Tout ce qu'il faut, c'est que votre utilisateur colle le texte avec le curseur au mauvais endroit d'un caractère et le tout va au pot.

Même en utilisant un modèle, comme NoNumber, l'utilisateur peut le détruire en insérant le modèle tout en restant dans un autre div - ce qui, soit dit en passant, sera forcé par JCE.

Lors de la mise en place de blocs de données répétitifs qu'un utilisateur peut avoir besoin d'ajouter ou de supprimer, il existe un équilibre entre construction prudente. Si vous avez des données cohérentes, je vous recommande d'utiliser un CCK. K2 ou Sobipro sont ceux que j'ai utilisés. Si vous avez des données moins cohérentes, créez chaque bloc sous forme d'article (avec un modèle afin de pouvoir en créer un nouveau, puis déposez un nouveau modèle), puis chargez cette catégorie avec un module.

En fait, nous ne voulons pas que nos clients jouent dans la mesure du possible. Nous allons donc mettre leur contenu dans un article (lorsque HTML personnalisé), puis le charger dans un module avec NoNumber Articles Anywhere, puis le charger dans notre mise en page. Si nous devons créer deux colonnes de contenu, chaque colonne reçoit souvent son propre article, qui est ensuite chargé via un module dans la page pour s'assurer qu'ils ne peuvent pas casser la structure.

Nous avons commencé à le faire en raison de notre passage au design réactif et cela a fait une énorme différence. Nous recevons très peu d'appels de clients qui ont détruit leurs présentations de contenu.

Donc, je sais que ce n’est pas une réponse vraie à votre question - c’est plutôt un "si vous avez atteint le point où votre mise en page est trop complexe pour être modifiée par vos clients, il est temps de repenser la manière dont vous présentez ce contenu à vos utilisateurs'.

2
Faye

Si vous collez dans la vue stylée, cliquez sur le bouton "Éditeur de code source".

JCE Source Code Editor Button

Cela vous donnera une vue comme celle-ci: JCE Source Code view

Collez le code HTML à l'emplacement souhaité.

Si vous trouvez le bouton plein écran utile lorsque vous regardez le code source car il n’est pas aussi étroit…

JCE Full Screen mode button

0
Craig