04/12/2014, 13:17:37
J'ai continué à creuser le problème. La variable canonical est définie dans le fichier "class.news_article.php" (répertoire lib du répertoire news) entre les lignes 79 et 97
le lien est défini par $canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp)
Tout les paramètre du lien sont là la page de detail le template de detail mais la variable $tmp les gomme pour les replacer par les paramètres par défaut.
J'ai donc employé les grands moyens et remplacé
$canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp)
par
$canonical = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
et ça marche (aux forceps )
Code :
[== PHP ==]
private function _get_canonical()
{
if( !isset($this->_meta['canonical']) )
{
$tmp = $this->news_url;
if( $tmp == '' )
{
$aliased_title = munge_string_to_url($this->title);
$tmp = 'news/'.$this->id.'/'.$this->returnid."/{$aliased_title}";
}
$mod = cms_utils::get_module('News');
$canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp);
$this->_meta['canonical'] = "$canonical";
}
return $this->_meta['canonical'];
}
le lien est défini par $canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp)
Tout les paramètre du lien sont là la page de detail le template de detail mais la variable $tmp les gomme pour les replacer par les paramètres par défaut.
J'ai donc employé les grands moyens et remplacé
$canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp)
par
$canonical = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
et ça marche (aux forceps )
MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11