TinyMCE bouton galerie

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#1
Bonjour,

sur un site en développement (Tinymce 3.3.2 et Gallery 2.4.2 CMSMS 2.2.15 php 7.4) j'essaie de faire apparaître le bouton d'insertion de galerie dans Tiny MCE.
Je coche dans l'onglet plugin > modules externes > Galerie d'images puis je rajoute le bouton à la première barre d'outil de la première ligne.
Sur un autre site cela fonctionne bien mais là cela met en vrac l'aperçu de TinyMCE qui n'est du coup plus fonctionnel.

Là où cela devient amusant : je passe en mode debug dans config.php
Miracle tout rentre dans l'ordre. J'enlève le mode debug, badaboum c'est reparti plus rien ne fonctionne. J'ai vidé le cache via ftp plusieurs fois etc... Je ne parviens pas à mettre la main dessus...

L'image avec debug à true:[Image: galerie-good.png]

L'image avec debug à false:


[Image: galerie-bad.png]


Celle-ci, je ne l'avais encore jamais rencontrée... C'est tout le charme de l'informatique non ?
Si quelqu'un a l'ombre d'une idée....
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#1
Bonjour,

sur un site en développement (Tinymce 3.3.2 et Gallery 2.4.2 CMSMS 2.2.15 php 7.4) j'essaie de faire apparaître le bouton d'insertion de galerie dans Tiny MCE.
Je coche dans l'onglet plugin > modules externes > Galerie d'images puis je rajoute le bouton à la première barre d'outil de la première ligne.
Sur un autre site cela fonctionne bien mais là cela met en vrac l'aperçu de TinyMCE qui n'est du coup plus fonctionnel.

Là où cela devient amusant : je passe en mode debug dans config.php
Miracle tout rentre dans l'ordre. J'enlève le mode debug, badaboum c'est reparti plus rien ne fonctionne. J'ai vidé le cache via ftp plusieurs fois etc... Je ne parviens pas à mettre la main dessus...

L'image avec debug à true:[Image: galerie-good.png]

L'image avec debug à false:


[Image: galerie-bad.png]


Celle-ci, je ne l'avais encore jamais rencontrée... C'est tout le charme de l'informatique non ?
Si quelqu'un a l'ombre d'une idée....
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#2
Bonjour,
as-tu une erreur JS dans la console ? Peux-tu poster le JS généré par TinyMCE ? C'est un fichier qui doit être dans tmp/cache/ et qui est de la forme tinymce_bb7693.....js

Merci
Répondre
#2
Bonjour,
as-tu une erreur JS dans la console ? Peux-tu poster le JS généré par TinyMCE ? C'est un fichier qui doit être dans tmp/cache/ et qui est de la forme tinymce_bb7693.....js

Merci
Répondre
#3
Bonjour Air Libre,

Oui j'ai une erreur
Uncaught SyntaxError: '' string literal contains an unescaped line break
tinymce_0fe73424af966555e95b1e4aa65ea966.js:121:19


Code :
tinymce.init({
    selector: 'textarea.TinyMCE',
    language: 'en',
    cmsms_tiny: cmsms_tiny = {
                    linker_text : 'Lien vers une page de contenu',
            linker_title : 'Créer un lien vers une page de contenu',
            linker_image : 'http://atest.autre-dom.com/modules/TinyMCE/lib/images/cmsmslink.gif',
            linker_url : 'http://atest.autre-dom.com/admin/moduleinterface.php?mact=TinyMCE,m1_,linker,0&__c=e1d67ac65116e841758&showtemplate=false',
            linker_autocomplete_url : 'http://atest.autre-dom.com/admin/moduleinterface.php?mact=TinyMCE,m1_,ajax_getpages,0&__c=e1d67ac65116e841758&showtemplate=false',
            linker_href : 'Generated URL',
            prompt_page : 'Entrez le titre de la page',
            prompt_page_info : 'Commencez par taper quelques caractères du nom de la page ou de son alias. Tous les noms correspondants seront affichés dans une liste.',
            prompt_alias : 'Alias de page sélectionné',
            prompt_alias_info : 'Ce champ est en lecture seul',
            prompt_text : 'Texte à afficher',
            prompt_class : 'Classe CSS',
            prompt_rel : 'Attribut rel (type de relation)',
            prompt_target : 'Cible',
            tab_general : 'Général',
            tab_advanced : 'Avancé',
            target_none : 'Aucun',
            target_new_window : 'Nouvelle fenêtre',
            loading_info : 'Chargement...'
            },
            relative_urls: true,
        document_base_url: 'http://atest.autre-dom.com/',
    browser_spellcheck: true,

    
    
    plugins: 'autolink anchor code fullscreen image link media paste table visualblocks lists cmsms_linker  autoresize',

    
    
    contextmenu: " cmsms_linker link image imagetools | inserttable table",

    
                        menubar: 'edit insert view format table tools',
            
    
            toolbar1: 'undo redo | cut copy paste | formatselect | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist | cmsms_linker link unlink responsivefilemanager image template | fullscreen code | module_gallery',
            
    
    
    
            resize: true,
    
    height: 20,
    autoresize_min_height: 10,
    autoresize_max_height: 600,
    autoresize_bottom_margin: 10,

    
    

    
    
    
    
    
    
    
    
    
            external_filemanager_path:"http://atest.autre-dom.com/modules/TinyMCE/responsive_filemanager/filemanager/",
          filemanager_title: "Gestionnaire de fichiers",
        filemanager_access_key: "cc11dd2db4a8e75f584f16b68b273980",
    
    
    

    
    external_plugins: {
                    "cmsms_linker" : "http://atest.autre-dom.com/modules/TinyMCE/lib/js/tinymce_external_plugins/cmsms_linker/plugin.js",
                            "filemanager" : "http://atest.autre-dom.com/modules/TinyMCE/responsive_filemanager/filemanager/plugin.min.js",
            "responsivefilemanager" : "http://atest.autre-dom.com/modules/TinyMCE/responsive_filemanager/tinymce_plugin/responsivefilemanager/plugin.min.js",
            },


    
    urlconverter_callback: function(url, elm, onsave, name) {
        var self = this;
        var settings = self.settings;

        if (!settings.convert_urls || ( elm && elm.nodeName == 'LINK' ) || url.indexOf('file:') === 0 || url.length === 0) {
            return url;
        }

        // fix entities in cms_selflink urls.
        if (url.indexOf('cms_selflink') != -1) {
            decodeURI(url);
            url = url.replace('%20', ' ');
            return url;
        }
        // Convert to relative
        if (settings.relative_urls) {
            return self.documentBaseURI.toRelative(url);
        }

        // Convert to absolute
        url = self.documentBaseURI.toAbsolute(url, settings.remove_script_host);
        return url;
    },


    setup: function(editor) {
        editor.on('change', function(e) {
            $(document).trigger('cmsms_formchange');
        });

        
        

        
        

                    editor.ui.registry.addMenuButton('module_gallery',{text: ' Ajouter une Galerie',tooltip: 'Insérer une galerie photos',icon: 'image',fetch: function(callback) {var items = [            
                                                            {
                        type: '<br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>475</b><br />
menuitem',
                        text: 'Galeries d\'images',
                        <br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>478</b><br />
                            onAction: function() {
                                editor.insertContent('{Gallery}');
                            },
                                            },
                
                    ];callback(items);}});editor.ui.registry.addNestedMenuItem('module_gallery',    {icon: 'image',text: 'Ajouter une Galerie',getSubmenuItems: function() {return [            
                                                            {
                        type: '<br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>475</b><br />
menuitem',
                        text: 'Galeries d\'images',
                        <br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>478</b><br />
                            onAction: function() {
                                editor.insertContent('{Gallery}');
                            },
                                            },
                
                    ];}});
                

    },

    
            paste_as_text: true,
image_caption: true
    

});

Les lignes concernées :
Code :
editor.ui.registry.addMenuButton('module_gallery',{text: ' Ajouter une Galerie',tooltip: 'Insérer une galerie photos',icon: 'image',fetch: function(callback) {var items = [            
                                                            {
                        type: '<br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>475</b><br />
menuitem',

Après comme indiqué précédemment, si je passe en mode debug, ça fonctionne...

Merci du coup de main !
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#3
Bonjour Air Libre,

Oui j'ai une erreur
Uncaught SyntaxError: '' string literal contains an unescaped line break
tinymce_0fe73424af966555e95b1e4aa65ea966.js:121:19


Code :
tinymce.init({
    selector: 'textarea.TinyMCE',
    language: 'en',
    cmsms_tiny: cmsms_tiny = {
                    linker_text : 'Lien vers une page de contenu',
            linker_title : 'Créer un lien vers une page de contenu',
            linker_image : 'http://atest.autre-dom.com/modules/TinyMCE/lib/images/cmsmslink.gif',
            linker_url : 'http://atest.autre-dom.com/admin/moduleinterface.php?mact=TinyMCE,m1_,linker,0&__c=e1d67ac65116e841758&showtemplate=false',
            linker_autocomplete_url : 'http://atest.autre-dom.com/admin/moduleinterface.php?mact=TinyMCE,m1_,ajax_getpages,0&__c=e1d67ac65116e841758&showtemplate=false',
            linker_href : 'Generated URL',
            prompt_page : 'Entrez le titre de la page',
            prompt_page_info : 'Commencez par taper quelques caractères du nom de la page ou de son alias. Tous les noms correspondants seront affichés dans une liste.',
            prompt_alias : 'Alias de page sélectionné',
            prompt_alias_info : 'Ce champ est en lecture seul',
            prompt_text : 'Texte à afficher',
            prompt_class : 'Classe CSS',
            prompt_rel : 'Attribut rel (type de relation)',
            prompt_target : 'Cible',
            tab_general : 'Général',
            tab_advanced : 'Avancé',
            target_none : 'Aucun',
            target_new_window : 'Nouvelle fenêtre',
            loading_info : 'Chargement...'
            },
            relative_urls: true,
        document_base_url: 'http://atest.autre-dom.com/',
    browser_spellcheck: true,

    
    
    plugins: 'autolink anchor code fullscreen image link media paste table visualblocks lists cmsms_linker  autoresize',

    
    
    contextmenu: " cmsms_linker link image imagetools | inserttable table",

    
                        menubar: 'edit insert view format table tools',
            
    
            toolbar1: 'undo redo | cut copy paste | formatselect | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist | cmsms_linker link unlink responsivefilemanager image template | fullscreen code | module_gallery',
            
    
    
    
            resize: true,
    
    height: 20,
    autoresize_min_height: 10,
    autoresize_max_height: 600,
    autoresize_bottom_margin: 10,

    
    

    
    
    
    
    
    
    
    
    
            external_filemanager_path:"http://atest.autre-dom.com/modules/TinyMCE/responsive_filemanager/filemanager/",
          filemanager_title: "Gestionnaire de fichiers",
        filemanager_access_key: "cc11dd2db4a8e75f584f16b68b273980",
    
    
    

    
    external_plugins: {
                    "cmsms_linker" : "http://atest.autre-dom.com/modules/TinyMCE/lib/js/tinymce_external_plugins/cmsms_linker/plugin.js",
                            "filemanager" : "http://atest.autre-dom.com/modules/TinyMCE/responsive_filemanager/filemanager/plugin.min.js",
            "responsivefilemanager" : "http://atest.autre-dom.com/modules/TinyMCE/responsive_filemanager/tinymce_plugin/responsivefilemanager/plugin.min.js",
            },


    
    urlconverter_callback: function(url, elm, onsave, name) {
        var self = this;
        var settings = self.settings;

        if (!settings.convert_urls || ( elm && elm.nodeName == 'LINK' ) || url.indexOf('file:') === 0 || url.length === 0) {
            return url;
        }

        // fix entities in cms_selflink urls.
        if (url.indexOf('cms_selflink') != -1) {
            decodeURI(url);
            url = url.replace('%20', ' ');
            return url;
        }
        // Convert to relative
        if (settings.relative_urls) {
            return self.documentBaseURI.toRelative(url);
        }

        // Convert to absolute
        url = self.documentBaseURI.toAbsolute(url, settings.remove_script_host);
        return url;
    },


    setup: function(editor) {
        editor.on('change', function(e) {
            $(document).trigger('cmsms_formchange');
        });

        
        

        
        

                    editor.ui.registry.addMenuButton('module_gallery',{text: ' Ajouter une Galerie',tooltip: 'Insérer une galerie photos',icon: 'image',fetch: function(callback) {var items = [            
                                                            {
                        type: '<br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>475</b><br />
menuitem',
                        text: 'Galeries d\'images',
                        <br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>478</b><br />
                            onAction: function() {
                                editor.insertContent('{Gallery}');
                            },
                                            },
                
                    ];callback(items);}});editor.ui.registry.addNestedMenuItem('module_gallery',    {icon: 'image',text: 'Ajouter une Galerie',getSubmenuItems: function() {return [            
                                                            {
                        type: '<br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>475</b><br />
menuitem',
                        text: 'Galeries d\'images',
                        <br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>478</b><br />
                            onAction: function() {
                                editor.insertContent('{Gallery}');
                            },
                                            },
                
                    ];}});
                

    },

    
            paste_as_text: true,
image_caption: true
    

});

Les lignes concernées :
Code :
editor.ui.registry.addMenuButton('module_gallery',{text: ' Ajouter une Galerie',tooltip: 'Insérer une galerie photos',icon: 'image',fetch: function(callback) {var items = [            
                                                            {
                        type: '<br />
<b>Notice</b>:  Undefined index: children in <b>/home/dikadik/entest/tmp/templates_c/811190bc2c9f8a36c48a1d49497abaac524ae1bd_0.module_file_tpl.TinyMCE;orig_js_template.tpl.php</b> on line <b>475</b><br />
menuitem',

Après comme indiqué précédemment, si je passe en mode debug, ça fonctionne...

Merci du coup de main !
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#4
Salut AirLibre,

Il te laisse aussi perplexe que cela ce fichier .js ?
Faudra quand même m'expliquer comment le passage en debug=true peut changer l'erreur d'index (children)....

J'ai oublié de préciser que l"autre site sur lequel la fonctionnalité marche est chez OVH.
Celui-ci est chez un excellent hébergeur clermontois, chez qui je n'ai quasiment jamais de souci, sauf là évidemment.
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#4
Salut AirLibre,

Il te laisse aussi perplexe que cela ce fichier .js ?
Faudra quand même m'expliquer comment le passage en debug=true peut changer l'erreur d'index (children)....

J'ai oublié de préciser que l"autre site sur lequel la fonctionnalité marche est chez OVH.
Celui-ci est chez un excellent hébergeur clermontois, chez qui je n'ai quasiment jamais de souci, sauf là évidemment.
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#5
Hello,
donc le code produit des sauts de ligne, ce que n'aime pas le JS, sauts de ligne provoqués, à mon avis, par la notice liée au "undefined index" généré par Gallery je pense.

Question bête : y a-t-il déjà une galerie dans Gallery ?

A mon avis la différence de traitement entre hébergeur provient du fait que celui-ci affiche ou non les notices. Ceci peut être paramétré à différents niveaux de l'hébergement.

Côté TinyMCE, essaye de modifier le fichier modules/TinyMCE/templates/orig_js_template.tpl ligne 273:
{if !$entry.children}

par
{if !isset($entry.children)}

Et dis nous Wink
Répondre
#5
Hello,
donc le code produit des sauts de ligne, ce que n'aime pas le JS, sauts de ligne provoqués, à mon avis, par la notice liée au "undefined index" généré par Gallery je pense.

Question bête : y a-t-il déjà une galerie dans Gallery ?

A mon avis la différence de traitement entre hébergeur provient du fait que celui-ci affiche ou non les notices. Ceci peut être paramétré à différents niveaux de l'hébergement.

Côté TinyMCE, essaye de modifier le fichier modules/TinyMCE/templates/orig_js_template.tpl ligne 273:
{if !$entry.children}

par
{if !isset($entry.children)}

Et dis nous Wink
Répondre
#6
Merci Air Libre !


Pour que cela fonctionne il faut aussi remplacer dans le même fichier ligne 271 {if $entry.children) par {if isset( $entry.children))

Nickel ! Tu m'as enlevé une bonne épine du pied...
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#6
Merci Air Libre !


Pour que cela fonctionne il faut aussi remplacer dans le même fichier ligne 271 {if $entry.children) par {if isset( $entry.children))

Nickel ! Tu m'as enlevé une bonne épine du pied...
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#7
Super, et cela servira à d'autres qui tomberaient sur ce post Wink
Répondre
#7
Super, et cela servira à d'autres qui tomberaient sur ce post Wink
Répondre
#8
(25/10/2021, 13:08:34)airelibre a écrit : Super, et cela servira à d'autres qui tomberaient sur ce post Wink

J'ai parlé un peu vite.... J'obtiens bien le bouton "ajout de galerie" mais ce bouton ne me permet pas de sélectionner une des galeries créées, juste d'insérer le tag {Gallery}
Manifestement l'accès au tableau continue de poser problème....
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#8
(25/10/2021, 13:08:34)airelibre a écrit : Super, et cela servira à d'autres qui tomberaient sur ce post Wink

J'ai parlé un peu vite.... J'obtiens bien le bouton "ajout de galerie" mais ce bouton ne me permet pas de sélectionner une des galeries créées, juste d'insérer le tag {Gallery}
Manifestement l'accès au tableau continue de poser problème....
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#9
Peux-tu poster le fichier JS généré suite à tes modifications stp ?
Des erreurs dans les logs du serveur ?
Répondre
#9
Peux-tu poster le fichier JS généré suite à tes modifications stp ?
Des erreurs dans les logs du serveur ?
Répondre
#10
(03/11/2021, 16:20:47)airelibre a écrit : Peux-tu poster le fichier JS généré suite à tes modifications stp ?
Des erreurs dans les logs du serveur ?
Salut Airibre,

C'est tout bon, tellement content d'avoir le bouton affiché je n'avais pas vidé le cache....
Le grand age....

Rolleyes
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre
#10
(03/11/2021, 16:20:47)airelibre a écrit : Peux-tu poster le fichier JS généré suite à tes modifications stp ?
Des erreurs dans les logs du serveur ?
Salut Airibre,

C'est tout bon, tellement content d'avoir le bouton affiché je n'avais pas vidé le cache....
Le grand age....

Rolleyes
Win 10 pro 64 - CMSMS 2.2.19 - grincheux parfois...
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)