Nouveau plugin : ponctuation insécable - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Ressources (https://forum.cmsmadesimple.fr/forum-4.html) +--- Forum : Développement et Astuces (https://forum.cmsmadesimple.fr/forum-15.html) +--- Sujet : Nouveau plugin : ponctuation insécable (/thread-2108.html) |
Nouveau plugin : ponctuation insécable - Jean le Chauve - 24/07/2012 La nouvelle version se trouve ici Il est toujours désagréable de voir un signe de ponctuation tel qu'un : ou un ? se retrouver seul sur une ligne et cela peut se produire ou pas selon la résolution d'écran. Le seul moyen pour empêcher cela, c'est de remplacer l'espace précédant le signe de ponctuation par une espace insécable : Ce plugin remplace toutes les espaces ou tab situés avant »:?!; et après « par un espace insécable. Attention, vérifiez bien que l'encodage de votre éditeur de texte soit en ANSI as UTF-8 si vous copiez le code dans un fichier (sinon, vous risquez d'avoir un problème avec les caractères « et »). Ce plugin ne modifie en aucun cas votre base de données ou le contenu de vos pages, il agit juste sur le cache. Si vous avez un global content block comprenant du code et que ce dernier ne fonctionne plus, vous pouvez empêcher le plugin de le modifier en ajoutant une condition && $result[1] != 'nom du globalcontent' dans cette ligne : if ($result[0] == 'content' || $result[0] == 'globalcontent' || $result[0] == 'template' || strlen($result[0]) == '40') Enjoy Nouveau plugin : ponctuation insécable - kraygoon - 25/07/2012 Merci :-) J'utilisais jusqu'à présent une balise utilisateur qui me faisait tout type d'optimisation sur le texte. Mais j'étais confronté à un souci d'ajout du code " " dans du JavaScript intégré à mon gabarit ou ma page (sachant que j'applique l'espace insécable sur les points d'exclamation, les points d'interrogation, les points virgules...). Du genre : Code : [== JavaScript ==] Qui devenait : Code : [== JavaScript ==] Et là, le code JS ne fonctionnait tout simplement pas... Logique. Je n'ai pas encore testé ton plugin, mais penses-tu qu'on retombe sur ce même problème ? Nouveau plugin : ponctuation insécable - Jean le Chauve - 25/07/2012 Salut Kraygoon Effectivement, ça ne fonctionnera pas pour ton code. Je vais creuser, j'ai déjà ma petite idée. Nouveau plugin : ponctuation insécable - jce76350 - 25/07/2012 manquerais pas des lignes de code j'ai des erreurs J'ai rajouté $result =''; // initialisation $smarty = $template->smarty; Pour que ça passe Nouveau plugin : ponctuation insécable - Jean le Chauve - 25/07/2012 Tu as tout à fait raison Jce, le code est tronqué . Il vaut mieux ne pas l'utiliser pour l'instant. Je suis occupé à l'améliorer pour éviter toute interférence avec des scripts, commentaires additionnels et autres datas. Je mettrai le nouveau code dès qu'il sera terminé. Nouveau plugin : ponctuation insécable - Jean le Chauve - 25/07/2012 Je crois qu'il y a de nouveau un bug (j'espère que ce n'est pas encore une bêtise) : http://forum.cmsmadesimple.org/viewtopic.php?f=79&t=62105 Si c'est bien un bug, dès qu'il sera corrigé, je pourrai mieux cerner l'endroit où les remplacements se font. [Edit] il s'agit bien d'un bug. Nouveau plugin : ponctuation insécable - Jean le Chauve - 26/07/2012 Voici les nouveaux codes pour 1.10.3 et pour 1.11 svn 8200+ Ils semblent fonctionner avec les ! et ; comme demandé par Kraygoon (il supprime les +ponctuation ajoutés dans les scripts). Je ne dis pas qu'il englobe TOUS les cas, mais il évitera un très grand % de ponctuation en tête de ligne. Lien pour la 1.11 svn 8200+ :http://menus-cmsms-madesimple.be/bizbuzz/uploads/files/forumcms/1.11.postfilter.nonbreaking_characters.zip OU Code : <?php ps : pour insérer des guillemets français, vous pouvez utiliser la combinaison Alt + 174 et Alt + 175 Et la version 1.10.3 : à dézipper dans /plugins OU Créer un fichier postfilter.nonbreaking_characters.php avec le code ci-dessous et placez-le dans /plugins Code : <?php Nouveau plugin : ponctuation insécable - jce76350 - 27/07/2012 en v1.11 j'ai erreur sur la partie site Web : Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load filter Smarty_prefilter_nonbreaking_characters' in \lib\smarty\sysplugins\smarty_internal_filter_handler.php on line 50 ( ! ) SmartyException: Unable to load filter Smarty_prefilter_nonbreaking_characters in \lib\smarty\sysplugins\smarty_internal_filter_handler.php on line 50 Nouveau plugin : ponctuation insécable - Jean le Chauve - 27/07/2012 Citation :SmartyException: Unable to load filter Smarty_prefilter_nonbreaking_characters inNormal, le fichier s'appelle postfilter.nonbreaking_characters.php et pas prefilter.nonbreaking_characters.php Vérifie dans /plugins et supprime le fichier prefilter.nonbreaking_characters.php Et merci de le tester Nouveau plugin : ponctuation insécable - jce76350 - 27/07/2012 Ha m...de il a changer de nom depuis hier et je ne suis pas réveillé Donc ça va mais si je vais sur les pages message d'erreur cache vidé Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 22 in \plugins\postfilter.nonbreaking_characters.php on line 14 Nouveau plugin : ponctuation insécable - Jean le Chauve - 27/07/2012 Je vérifie que je n'ai pas de nouveau tronqué le code ( ), puis je te donne le lien pour le zip. Nouveau plugin : ponctuation insécable - Jean le Chauve - 27/07/2012 Lien pour la 1.11 svn 8200 http://www.menus-cmsms-madesimple.be/uploads/files/forumCMS/1.11.postfilter.nonbreaking_characters.zip Nouveau plugin : ponctuation insécable - jce76350 - 27/07/2012 Citation :Lien pour la 1.11 svn 8200 OK ça marche et même en SVN -8201-Fr Nouveau plugin : ponctuation insécable - Jean le Chauve - 27/07/2012 Il avait quand même une GROSSE erreur dans cette expression ; il manquait des crochets de classe dans : #(<script.*)( ([:|?|!|;])(.*</script)#si J'en ai profité pour appliquer le plugin dans les modules. Je mets à jours les codes et zip. Nouveau plugin : ponctuation insécable - jce76350 - 27/07/2012 >Je mets à jours les codes et zip. testé en 1.11 Ok |