Bonjour Yass,
il me semble que ce problème a déjà été traité. Cela dit, je ne trouve pas le topic adéquat. Je propose donc ici une solution. Attention ceci est un hack, il faudra modifier le core, c’est à dire un fichier sensible.
Dans manager/processors/save_content.processor.php remplacer la fonction stripAlias par la suivante :
function stripAlias($alias) {
global $modx;
if(strtoupper($modx->config['modx_charset'])=='UTF-8') $alias = utf8_decode($alias);
$alias = strtr($alias, array(chr(196) => 'Ae', chr(214) => 'Oe', chr(220) => 'Ue', chr(228) => 'ae', chr(246) => 'oe', chr(252) => 'ue', chr(223) => 'ss'));
$pattern = array("/é/", "/è/", "/ê/", "/ç/", "/à/", "/â/", "/î/", "/ï/", "/ù/", "/ô/");
$rep_pat = array("e", "e", "e", "c", "a", "a", "i", "i", "u", "o");
$alias = preg_replace($pattern, $rep_pat, $alias);
$alias = strip_tags($alias);
//$alias = strtolower($alias);
$alias = preg_replace('/&.+?;/', '', $alias); // kill entities
$alias = preg_replace('/[^\.%A-Za-z0-9 _-]/', '', $alias);
$alias = preg_replace('/\s+/', '-', $alias);
$alias = preg_replace('|-+|', '-', $alias);
$alias = preg_replace('|-+|', '-', $alias);
$alias = trim($alias, '-');
return $alias;
}
Attention, je décline toute responsabilité, mais cela semble fonctionner chez moi...
++