je te montre comment je ferais, je pense que ça te donnera une piste pour les autres fichiers
- tu crées d'abord une fonction pour enlever les espaces, les accents (y a des modèles de ce genre de fonction dans certains modules)
dans modules/mytube/include/functions.php
à la fin du fichier tu rajoutes
function mytube_UrlSeoTitle($title='', $withExt=false)
{
/**
* if XOOPS ML is present, let's sanitize the title with the current language
*/
$myts = MyTextSanitizer::getInstance();
if (method_exists($myts, 'formatForML')) {
$title = $myts->formatForML($title);
}
// Transformation de la chaine en minuscule
// Codage de la chaine afin d'éviter les erreurs 500 en cas de caractères imprévus
$title = rawurlencode(strtolower($title));
// Transformation des ponctuations
// Tab Space ! " # % & ' ( ) , / : ; < = > ? @ [ ] ^ { | } ~ .
$pattern = array("/%09/", "/%20/", "/%21/", "/%22/", "/%23/", "/%25/", "/%26/", "/%27/", "/%28/", "/%29/", "/%2C/", "/%2F/", "/%3A/", "/%3B/", "/%3C/", "/%3D/", "/%3E/", "/%3F/", "/%40/", "/%5B/", "/%5C/", "/%5D/", "/%5E/", "/%7B/", "/%7C/", "/%7D/", "/%7E/", "/./", "/%2A/");
$rep_pat = array( "-" , "-" , "" , "" , "" , "-100" , "" , "-" , "" , "" , "" , "-" , "" , "" , "" , "-" , "" , "" , "-at-" , "" , "-" , "" , "-" , "" , "-" , "" , "-" , "" , "" );
$title = preg_replace($pattern, $rep_pat, $title);
// Transformation des caractères accentués
// ? è é ê ë ç à â ä î ï ù ü û ô ö ñ é à è ë î ê
$pattern = array("/%B0/", "/%E8/", "/%E9/", "/%EA/", "/%EB/", "/%E7/", "/%E0/", "/%E2/", "/%E4/", "/%EE/", "/%EF/", "/%F9/", "/%FC/", "/%FB/", "/%F4/", "/%F6/", "/%F1/", "/%E3%A9/", "/%E3%A0/", "/%E3%A8/", "/%E3%AB/", "/%E3%AE/", "/%E3%AA/");
$rep_pat = array( "-", "e" , "e" , "e" , "e" , "c" , "a" , "a" , "a" , "i" , "i" , "u" , "u" , "u" , "o" , "o", "n", "e", "a", "e", "e", "i", "e" );
$title = preg_replace($pattern, $rep_pat, $title);
// Transformation des caractères accentués
$pattern = array("/%C3%AB/", "/%C3%AE/");
$rep_pat = array( "e", "i" );
$title = preg_replace($pattern, $rep_pat, $title);
if (sizeof($title) > 0)
{
if ($withExt) {
$title .= '.html';
}
return $title;
}
else
return '';
}
- pour appliquer au xoopstube_block_new_h.html
dans le fichier modules/mytube/blocks/xoopstube_top.php
tu remplaces
$videoload['id'] = intval($myrow['lid']);
$videoload['cid'] = intval($myrow['cid']);
$videoload['title'] = $title;
par
$urltitle = mytube_UrlSeoTitle($title);
$videoload['id'] = intval($myrow['lid']);
$videoload['cid'] = intval($myrow['cid']);
$videoload['title'] = $title;
$videoload['urltitle'] = $urltitle;
et dans ton template
<{$xoops_url}>/modules/<{$videoload.dirname}>/regarder-<{$videoload.urltitle}>-<{$videoload.cid}>-<{$videoload.id}>.html