TinyMCE bouton galerie -
pierrepercee - 15/10/2021
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:
L'image avec debug à false:
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....
RE: TinyMCE bouton galerie -
airelibre - 18/10/2021
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
RE: TinyMCE bouton galerie -
pierrepercee - 18/10/2021
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 !
RE: TinyMCE bouton galerie -
pierrepercee - 21/10/2021
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.
RE: TinyMCE bouton galerie -
airelibre - 21/10/2021
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
RE: TinyMCE bouton galerie -
pierrepercee - 21/10/2021
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...
RE: TinyMCE bouton galerie -
airelibre - 25/10/2021
Super, et cela servira à d'autres qui tomberaient sur ce post
RE: TinyMCE bouton galerie -
pierrepercee - 26/10/2021
(25/10/2021, 13:08:34)airelibre a écrit : Super, et cela servira à d'autres qui tomberaient sur ce post
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....
RE: TinyMCE bouton galerie -
airelibre - 03/11/2021
Peux-tu poster le fichier JS généré suite à tes modifications stp ?
Des erreurs dans les logs du serveur ?
RE: TinyMCE bouton galerie -
pierrepercee - 05/11/2021
(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....