Jump to content

[Fix] Google sitemap 2.2.5 sous PS 1.5.x


Recommended Posts

remarquez le "INNER JOIN `ps_cms_lang`" , ici le développeur du code à oublié d'utiliser '_DB_PREFIX_' , il utilise le préfixe par défaut 'ps_' alors que la plupart des utilisateurs de prestashop choisissent leurs propre préfixe personnel.

 

pour corriger ce bug :

  1. ouvrir /modules/gsitemap/gsitemap.php
  2. aller à la ligne 484.
  3. remplacer le morceau du code suivant.

avant:

 

 $cmss_id = Db::getInstance()->ExecuteS('SELECT c.`id_cms` FROM `'._DB_PREFIX_.'cms` c INNER JOIN `ps_cms_lang` cl ON c.`id_cms` = cl.`id_cms`
INNER JOIN `'._DB_PREFIX_.'cms_shop` cs ON c.`id_cms` = cs.`id_cms`
INNER JOIN `'._DB_PREFIX_.'cms_category` cc ON c.id_cms_category = cc.id_cms_category AND cc.active = 1
WHERE c.`active` =1 AND c.`id_cms` > '.(int)$id_cms.
' AND cs.id_shop = '.(int)$this->context->shop->id.
' AND cl.`id_lang` = '.(int)$lang.
' ORDER BY c.`id_cms` ASC');

 

après

 

 $cmss_id = Db::getInstance()->ExecuteS('SELECT c.`id_cms` FROM `'._DB_PREFIX_.'cms` c INNER JOIN `'._DB_PREFIX_.'cms_lang` cl ON c.`id_cms` = cl.`id_cms`
INNER JOIN `'._DB_PREFIX_.'cms_shop` cs ON c.`id_cms` = cs.`id_cms`
INNER JOIN `'._DB_PREFIX_.'cms_category` cc ON c.id_cms_category = cc.id_cms_category AND cc.active = 1
WHERE c.`active` =1 AND c.`id_cms` > '.(int)$id_cms.
' AND cs.id_shop = '.(int)$this->context->shop->id.
' AND cl.`id_lang` = '.(int)$lang.
' ORDER BY c.`id_cms` ASC');

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...