26/07/2012, 18:32:47
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...acters.zip
OU
Merci de me donner vos retours.
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
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...acters.zip
OU
Code :
<?php
// put into the 'plugins' directory and name it 'postfilter.nonbreaking_characters.php'
function smarty_postfilter_nonbreaking_characters($tpl_output, &$template)
{
$smarty = $template->smarty;
$result = explode(':', $smarty->_current_file);
if (count($result) > 0)
{
if( startswith($result[0],'tmp_') ) $result[0] = 'template';
if ($result[0] == 'content' || $result[0] == 'globalcontent' || $result[0] == 'template' || strlen($result[0]) == '40')
// evaluated template a disparu depuis cmsms 1.10.3 et a été remplacé par une string de 40 caractères
//Si un global content block pose problème, vous empêcher le plugin d'y entrer en ajoutant && $result[1] != 'nom du GCB'
{
$patterns = array ('#\b(\s)+([:?!;])(?=\s|<)#', '#«\s#', '#\s»#', '#(<script.*)( )([:?!;])(.*</script)#si');
$replace = array (' $2', '« ', ' »', '$1 $3$4');
$tpl_output = preg_replace($patterns, $replace, $tpl_output);
}
}
return $tpl_output;
}
function smarty_cms_about_postfilter_nonbreaking_characters()
{
?>
<p>Author: Jean le Chauve<jeanlechauve@gmail.com></p>
<p>Version: 1.0</p>
<p>
Change History:<br/>
None
</p>
<?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
// put into the 'plugins' directory and name it 'postfilter.nonbreaking_characters.php'
function smarty_cms_postfilter_nonbreaking_characters($tpl_output, &$smarty)
{
$result = explode(':', $smarty->_current_file);
if (count($result) > 0)
{
$patterns = array ('#\b(\s)+([:?!;])(?=\s|<)#', '#«\s#', '#\s»#', '#(<script.*)( )([:?!;])(.*</script)#s');
$replace = array (' $2', '« ', ' »', '$1 $3$4');
if ($result[0] == 'content' || $result[0] == 'temporary template' || $result[0] == 'globalcontent' || $result[0] == 'evaluated template')
//Si un global content block pose problème, vous empêcher le plugin d'y entrer en ajoutant && $result[1] != 'nom du GCB'
{
$tpl_output = preg_replace($patterns, $replace, $tpl_output);
}
}
return $tpl_output;
}
function smarty_cms_about_postfilter_nonbreaking_characters()
{
?>
<p>Author: Jean le Chauve<jeanlechauve@gmail.com></p>
<p>Version: 1.0</p>
<p>
Change History:<br/>
None
</p>
<?php
}
?>