Mauvaise catégorie en début de chemin, itemid identique sur tous les liensMise à jour le Mardi, 16 Juin 2009 22:58 Écrit par Tr@nquille Samedi, 18 Avril 2009 09:22 Virtuemart et le problème de l'itemid identiquevoici le problème résumé brièvement, que beaucoup rencontrent apparemment:
Il semblerait que virtuemart construise ses liens en prenant systématiquement la première catégorie déclarée dans sa liste. Il fait une requête sql dans la table des menus joomla et extrait la première entrée de menu qui pointe sur le composant virtuemart.
function getShopItemid()
{
/** modif: rajout ligne suivante:*/
global $Itemid;
/** fin modif */
if ( empty($_REQUEST['shopItemid']))
{
$db = new ps_DB;
/** modif: commenté ligne suivante:*/
//$db->query( "SELECT id FROM #__menu WHERE link='index.php?option=com_virtuemart' AND published=1");
/** fin modif */
/** modif: rajout ligne suivante:*/
$db->query("SELECT id FROM #__menu WHERE link='index.php?option=com_virtuemart' AND published=1 AND id=".$Itemid);
/** fin modif */
if ($db->next_record())
{
$_REQUEST['shopItemid'] = $db->f("id");
}
else
{
if (! empty($_REQUEST['Itemid']))
{
$_REQUEST['shopItemid'] = intval($_REQUEST['Itemid']);
}
else
{
$_REQUEST['shopItemid'] = 1;
}
}
}
return intval($_REQUEST['shopItemid']);
}
$db->query("SELECT id FROM #__menu WHERE link='index.php?option=com_virtuemart' AND published=1 AND id=".$Itemid);
J'ai aussi rajouté la déclaration de l'itemid en global, comme on peut le voir dans la fonction, ligne surlignée 4. Une fois mis en place ça fonctionne bien, mais je ne peux pas tout tester. |


