[Plugin] TinyMCE : Editeur pour articles et pages statiques

1246

Réponses

  • cpalocpalo Member
    Bonsoir,

    Pas de problème. Et encore merci pour ton travail et ton aide.
    Là je travaille sur quelles deux barres je souhaite avoir, et donc les paramétrer.

    Cordialement
  • Bonjour,

    Je suis très intéressé par ce plugin, néanmoins je ne comprends pas comment ajouter une image depuis le popup des medias. Lorsque je clique sur une image cela me l'affiche en plein écran. Je ne vois pas d'erreur dans la console.

    Est-ce qu'il y a une subtilité que je manque dans l'interface ? (j'utilise PluXML 5.4).

    Matthieu
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Normal !
    Si tu cliques sur l'image , elle s'afffiche en taille réelle.
    Pour l'insérer dans un article ou une page statique, il faut cliquer sur le lien avec son nom ou sur miniature.
  • À vrai dire si je clique sur le lien de l'image ou la miniature cela me les ouvre dans un nouvel onglet, tandis que le popup de tinyMCE reste vierge. C'est un scrupt qui doit transposer le lien ? Je ne vois pas d'erreur en console, ni de js bloqué.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mars 2016 modifié
    Quelle est la version de TinyMCE que tu utilises et utilises tu d'autres plugins ?

    D'après le site http://maoli.fr/, il semble que tu utilises Colorbox. As tu le même souci en le désactivant ?
  • J'utilise la version 1.43 du plugin (note que le plugin date sa création au 03/03/2015 au lieu de 2016). Je n'avais pas pensé aux autres plugin. J'ai donc tout désactivé à l'exception de TinyMCE, mais j'ai toujours le même symptôme.

    Par contre je me suis trompé, il y a bien une erreur lorsque la frame s'ouvre : tinyMCE.js:131 Id list-files element not found.

    Je vais creuser autour de ça.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mars 2016 modifié
    @PPmarcel,

    Effectivement, il y a un petit bug à 2 endroits qui empêche le bon fonctionnement des gestionnaires de médias et d'articles.
    Dans le fichier tinyMCE.php,aux lignes 293 et 314 dans le test de versionCompare, le test est incorrect.
    Il faut remplacer '<=' par '<'.
    Corrigé dans la version 1.431.
    Cela marche avec ColorBox.

    A++
  • Salut Bazooka07,

    Bien vu, ces substitutions corrigent effectivement le comportement des liens.

    Merci pour ton aide.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Nouvelle mise à jour avec quelques fonctionnalités supplémentaires
    version 1.50 :
    Pour la coloration syntaxique du code, possiblité d'utiliser la bibliothèque utilisée par le plugin codemirror, sinon une explication s'affiche à l'écran pour télécharger la bibliothèque javascript nécessaire.
    En mode code, on peut travailler en plein écran
    En mode normal, raccourci clavier Ctrl-S pour sauvegarder pendant la rédaction de l'article ou de la page statique
    Possibilité d'activer les plugins selon les profils utilisateurs ( coucou Cpalo )
    Mise à jour du lien CDN pour télécharger la bibliothque de Tinymce
    Possibilité de stocker cette bibliothèque sur le serveur en cas de mauvaise connection internet ou de paranoïa aigue (mais plus de mise à jour automatiquement)
  • cpalocpalo Member
    Bonjour,

    Merci d'avance. Cette version a l'air d'être prometteuse.
    Petit problème à l'installation : je supprime d'abord completement l'ancienne version, et je fais ensuite une installation de la nouvelle version.
    J'obtiens le message d'erreur suivant des que je l'active:
    Parse error: syntax error, unexpected '.', expecting ',' or ';' in E:\htdocs\nuxitCahue\myPluxml\plugins\tinyMCE\tinyMCE.php on line 46

    Cordialement
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    @cpalo

    Pas de souci avec PHP 5.6.
    Par contre, ça buggue avec PHP 5.4.
    Correctif dans la version 1.501 du plugin
    Sinon pour éviter de tout réinstaller, modifie les lignes 45 et suivantes comme suit :
    [== PHP ==]
              public $mce_pluginsFull = 'wordcount fullscreen save visualchars charmap
     advlist autolink link image imagetools media lists hr anchor emoticons
     searchreplace preview visualblocks nonbreaking
     table contextmenu directionality template paste textcolor autoresize';
    
    Attention: conserver l'espace en début de ligne devant advlist, searchreplace et table.
  • cpalocpalo Member
    mars 2016 modifié
    Cala fonctionne, pas de problème excepté la mise en forme css:
    Ainsi que pour travailler en mode source pour les pages statiques, où il m'affiche:
    Il est recommandé d'installer le plugin Codemirror pour une meilleure expérience utilisateur
    ou de télécharger l'archive de la librairie codemirror sur codemirror.net
    et de la déplier dans le dossier:
    E:\htdocs\nuxitCahue\myPluxml\plugins\tinyMCE\extras\plugins\codemirror
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    @cpalo,

    C'est un problème avec le cache de ton navigateur.
    Tapes F5 sur ton clavier pour forcer ton navigateur à recharger les feuilles de style ou ferme et ouvre ton naivigateur.

    Pour le code source, le plus simple est d'installer le plugin codemirror.
    Ensuite tu retournes dans le panneau de config de tinyMCE, tu cliques sur le bouton "plugin Pluxml" et sauvegardes.
  • cpalocpalo Member
    Pour la mise en forme, elle est sympa. Effectivement c'était un problème de cache. Je n'avais pas du le faire correctement.

    Pour codemirror, la case "utiliser le plugin externe codemirror est bien cochée" Et à l'installation du plugin le dossier codemirror est déjà présent dans extras/plugins.
    D'ailleurs à quoi correspond la case vide en-dessous: Dépot pour la libraire code mirror /indisponible?
  • cpalocpalo Member
    mars 2016 modifié
    Lorsque je vais dans l'onglet plugins ( sympa par ailleurs son style pour l'utiliser), il ne conserve pas mes choix de cases cochées.
    Exemple je coche les plugins image et image tools, je sauvegarde; je reviens sur la page principale; je sauvegarde; je quitte la page du plugin; je rafraichis avec f5.
    J'édite un article, les barres d'outils de tinymce n'ont pas changé, je retourne dans l'administration du plugin : les cases que j'avais cochées dans l'onglet plugins ne sont plus cochées.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Pour la sélection des plugins, j'ai fait une modif de dernière minute avec de publier et j'ai oublié une instruction.
    Dans config.php dans le switch pour $_POST, il manque l'instruction break; avant le case default.
    Corrigé dans la version 1.502 de tinyMCE.

    Pour le cache, je n'ai pas de solution pour dire au navigateur qu'il a une nouvelle feuille de style à lire.

    Pour codemirror, il y a effectivement un dossier extras/plugins/codemirror. Mais il y juste les fichiers pour faire la liaison entre tinyMCE et codemirror. Mais la bibliothèque javascript de codemirror n'est pas installée.
    Il te faut installer le plugin codemirror à télécharger ici comme un plugin normal.
    Ensuite tu retournes sur la config de tinymce et tu cliques sur le bouton "plugin pluxml" et la case à sa gauche va se remplir.
    Et tu enregistres.
  • cpalocpalo Member
    Merci..
    Beau travail... cela fonctionne...
    Je te ferai un retour sur son utilisation.

    Cordialement
  • Hello !
    Super plugin déjà pour commnencer ! :D
    En fait j'ai un petit problème avec le plugin...
    En fait, Mes Rédacteur, recoivent un message d'erreur dans la rubrique "Articles" de l'administration :
    Voici le message
    Warning: Invalid argument supplied for foreach() in /home/speedgee/public_html/plugins/tinyMCE/tinyMCE.php on line 342
    Vous pouvez m'aider svp je sais pas si c'est grave mais sa le fais juste avec les rédacteur, j'ai essayer une re-installation du plugin mais sa marche pas, que faire?!
    En l'attente d'une réponse,
  • cpalocpalo Member
    avril 2016 modifié
    Bonsoir,

    Cette dernière version me plait bien.
    Petite précision, si je n'utilise pas l'option Cdn, j'obtiens donc:
    tinyMCE/
    css
    extras
    plugins
    skins
    lang
    tinymce
    plugins
    skins
    La bibliothèque codemirror je l'installe donc dans tinymce/plugins et non plus dans extras/plugins ?
    Est-ce qu'en fait ce dossier extras sert uniquement lorsqu'on utilise la librairie tinymce via CDN?

    J'essaie de faire 2-3 boutons personnalisés dans les menus et barre d'outils, est-bien dans le fichier tinyMCE.php ligne194 toolbar , ou ligne228 option formats, que je dois modifier..
    Je me base sur ces exemples dans la documentation de tinymce:
    Ajouter un sous-menu
    Ajouter un bouton/
    ou personnaliser les formats

    Par exemple cette partie du code je l'insère à quel endroit?:
    [== Indéfini ==]
    setup: function(editor) {
        editor.addButton('mybutton', {
          type: 'menubutton',
          text: 'My button',
          icon: false,
          menu: [{
            text: 'Menu item 1',
            onclick: function() {
              editor.insertContent('&nbsp;<strong>Menu item 1 here!</strong>&nbsp;');
            }
          }, {
            text: 'Menu item 2',
            onclick: function() {
              editor.insertContent('&nbsp;<em>Menu item 2 here!</em>&nbsp;');
            }
    

    Cordialement
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    @cpalo,

    Utiliser le CDN ou pas ne modifie pas la structure ou l'utilisation des dossiers.

    Les liens que tu donnes et qui pointent vers tinymce.com affichent par défaut l'onglet result. Tu peux cliquer sur les onglets js et html pour voir le code source de la démo.
    Ton code javascript est à ajoutée dans "private function build_javascript_lib($all=false)". Il faut ajouter cela au tableau associatif en javascript options. N'oulbie de séparer chaque options par une virgule.
    Pour codemirror, il est plus simple d'installer le plugin que j'ai écrit et de retourner dans le panneau de config de tinymce pour régler le lien qui pointe vers la bibliothèque javascript de codemirror.
    Le dossier extras contient des bibliothèques en javascript qui seront appelés éventuellement par le code javascript de tinymce, qui peuvent aussi charger des pages php qui sont indépendantes de Pluxml.

    @Milkyway,
    J'ai bien lu ton retour.
    Je pense que le bug se produit quand il n'y a aucun article accessible à l'utilisateur.
    Je corrige cela dans la version que je suis en train de développer.

    A++
  • cpalocpalo Member
    mai 2016 modifié
    Afin de bien comprendre la démarche avant de me lancer dans une personnalisation,
    je prends l'exemple donné pour ajouter un bouton ( ce qui donne une barre d'outils avec un seul bouton)
    [== Indéfini ==]
    tinymce.init({
      selector: 'textarea',
      height: 500,
      toolbar: 'mybutton',
      menubar: false,
      setup: function (editor) {
        editor.addButton('mybutton', {
          text: 'My button',
          icon: false,
          onclick: function () {
            editor.insertContent('&nbsp;<b>It\'s my button!</b>&nbsp;');
          }
        });
      },
      content_css: [
        '//fast.fonts.net/cssapi/e6dc9b99-64fe-4292-ad98-6974f93cd2a2.css',
        '//www.tinymce.com/css/codepen.min.css'
      ]
    });
    
    javascript options est-il à créer? ou est-ce que cela correspond au tableau ligne 192 du plugin var options = {
    Et je pensais que tout ce code n'était pas à insérer puisqu'il y a déjà une barre d'outils et donc peut être que les lignes correspondant à setup: function (editor) { }
  • cpalocpalo Member
    Bonjour,

    quelles que soient les options ( TinyMce CDN ou non, CodeMirror plugin ou non ), TinyMce ne fonctionne pas pour l'édition des pages statiques
  • cpalocpalo Member
    mai 2016 modifié
    Je confirme, à partir d'une nouvelle installation "neuve", TinyMce ne fonctionne pas pour l'édition des pages statiques ( j'ai configuré: utilisation du CDN et du plugin Codemirror). Lorsque j'ecris ne fonctionne pas, cela signifie que lorsque j'édite une page statique, il n'y a pas d'éditeur du tout.

    Dans un autre post (ChampPlus), j'avais indiqué que j'avais des messages d'erreur au moment de la configuration:
    " Notice: Undefined index: cdn in E:\htdocs\nuxitCahue\myPluxml\core\lib\class.plx.plugins.php on line 526
    etc ...." mais qui disparaissent en fait lorsque je fais sauvegarder le fichier.

    Toujours pour personnaliser, comment ajouter un plugin (pas un plugin pluxml, mais tinymce)?
    Dans la doc, il est indiqué que pour l'activer, on doit indiquer: plugins:
    à quel endroit est cette ligne?:
    ligne190 : var pluginsList = {$mcePlugins};
    ligne222 : external_plugins: {},
    ou utiliser les lignes 99 à 101 'plugins2' => $basicPlugins,
    ou ?
  • cpalocpalo Member
    Bonjour,

    Toutes mes excuses... Pourtant j'étais reposé. Mais par défaut l'utilisation de Tinymce n'est pas activée pour les pages statiques. Et donc je n'avais pas coché la case correspondante pour l'activer!!!!!

    Cordialement
  • cpalocpalo Member
    mai 2016 modifié
    Toutes mes excuses, mais mes essais n'ont pas abouti
    Ton code javascript est à ajoutée dans "private function build_javascript_lib($all=false)". Il faut ajouter cela au tableau associatif en javascript options. N'oulbie de séparer chaque options par une virgule.

    Je vais bien dans "private function ...", mais ensuite je ne vois pas ni où ni comment ajouter le code javascript dans ce tableau associatif en javascript options
    [== Indéfini ==]
    setup: function (editor) {
    		editor.addButton('mybutton', {
    		  text: 'My button',
    		  icon: false,
    		  onclick: function () {
    			editor.insertContent('&nbsp;<b>It\'s my button!</b>&nbsp;');
    		  }
    		});
    	},
    
    et ajouter le bouton dans la toolbar de cette manière
    [== Indéfini ==]
    var options = {
    	selector: '{$selector}',
    	toolbar:
    		'save undo redo | bold  italic | alignleft aligncenter alignright alignjustify | '+
    		'bullist numlist outdent indent | link image media anchor emoticons | forecolor backcolor |'+
    		' charmap visualchars preview fullscreen mybutton',
    
  • cpalocpalo Member
    Bonjour,

    Besoin d'une petite précision pour savoir si c'est un petit bug ou si c'est normal, car je n'y avais jamais porté attention.
    Lorsqu'on saisit le contenu de l'article ou de la page, ce qui apparaît c'est le texte avec le rendu initial des balises html, sans lien avec les css du thème.
    Si je clique sur visualiser la page, effectivement on voit bien le rendu réel.

    Cordialement
  • cpalocpalo Member
    Bonsoir,

    après vérification( cf mon post précédent) ( y compris sur trois sites où j'utilisais ckeditor), effectivement cela a toujours été ainsi. Ce qui personnellement ne me trouble pas plus. Je pensais que cela aurait pu troubler les rédacteurs , mais aucun ne m'a jamais fait remonter quoi que ce soit. Alors sans doute la raison pour laquelle je ne m'étais pas posé cette question jusqu'ici.
  • cpalocpalo Member
    août 2016 modifié
    Bonjour,

    J'aurai souhaité une petite précision pour l'installation sans l'utilisation du CDN
    J'ai donc installé dans le dossier plugins à la racine de pluxml :
    plugins/tinyMCE/tinymce/tinymce.min.js
    Mais dans le fichier tinyMCE.php à la ligne 43 il y a :
    public $localMinifyLib = 'tinymce/js/tinymce/tinymce.min.js';
    

    Egalement, si je veux utiliser la librairie codemirror et non pas ton plugin codemirror, je dois ou non cocher la case "utiliser le plugin externe".
    Et que doit-on saisir dans la case "Dépôt pour la librairie de Codemirror"

    Merci

    Cordialement
  • cpalocpalo Member
    Bonjour,

    Pour continuer à tester et à personnaliser, j'ai créé un compte utilisateur avec le profil rédacteur.
    Quand je me connecte sur l'administration avec ce compte rédacteur , j'obtiens ce message d'erreur:
    [== Indéfini ==]
    Notice: Trying to get property of non-object in E:\htdocs\sitesDvpts\myPluXml\plugins\tinyMCE\tinyMCE.php on line 343
    Warning: Invalid argument supplied for foreach() in E:\htdocs\sitesDvpts\myPluXml\plugins\tinyMCE\tinyMCE.php on line 343
    
    et la ligne 343 en question:
    [== PHP ==]
    foreach ($plxAdmin->plxRecord_arts->result as $k=>$infos)
    
  • cpalocpalo Member
    septembre 2016 modifié
    Bonjour,

    Besoin d'aide même si Bazooka07 m'a indiqué plusieurs pistes ca rlà je bloque malgré divers essais.
    Toujours dans un souci de personnaliser l'éditeur, je souhaite créer un bouton ou un menu qui permet d'insérer un encadré.
    <div class="box">
    </div>
    
    Dans le cas de tinymce, ( pas dans ce plugin) voià ce que j'ai créée:
    
    tinymce.init({
              selector: 'textarea',
              height: 500,
              toolbar: 'mybtnbox',
              menubar: false,
              setup: function (editor) {
                editor.addButton('mybtnbox', {
                  text: 'Encadre',
                  icon: false,
                  onclick: function () {
                    editor.insertContent('<div class="box"></div>');
                  }
                });
    
    Dans le ficchier du plugin tinymce.php, à partir de la ligne 140 dans la rubrique private function build_javascript_lib($all=false) {,
    à partir de la ligne 193 j'ai fait un ajout:
    var options = {
    	selector: '{$selector}',
    	toolbar:
    		'save undo redo | bold italic | alignleft aligncenter alignright alignjustify | '+
    		'bullist numlist outdent indent | link image media anchor emoticons | forecolor backcolor |'+
    		' charmap visualchars preview fullscreen'+
    		'mybtnbox',
    	setup: function (editor) {
            editor.addButton('mybtnbox', {
                text: 'Encadre',
                icon: false,
    			onclick: function () {
                    editor.insertContent('<div class="box"></div>');
                }
            });
        },
    
    Mais j'ai encore tout faux.
    Une fois que j'aurai réussi pour ce rajout de bouton, je pense qu'après j'aurai saisi la logique pour la personnalisation ausein du plugin.

    Cordialement
Connectez-vous ou Inscrivez-vous pour répondre.