Joomla.it Forum
Componenti per Joomla! => Gestione e-commerce => : bezier 21 Mar 2009, 16:56:43
-
Ciao ragazzi, mi succede una cosa strana. www.bezierapplicativi.it, cliccate sulla voce di menù a sinistra "Vendite al Dettaglio". Vi appare una lista di 2 prodotti (sono 2 prodotti virtuemart). Ora cliccate in uno qualsiasi di questi prodotti e si apre la scheda tecnica. Date però uno sguaedo alle voci di menù e noterete che è selezionata la voce "Negozi Computer e Accessori". Non riesco a capire come correggere, pur pensando di aver individuato il problema. Infatti, quando clicco su uno dei 2 prodotti, se osservate tutto l'indirizzo del link, si può notare che viene richiamata una voce con ID=5. L'id 5 è per l'esatezza l'id della voce di menù "Computer e accessori", ma non capisco però dove devo andare per correggerla...
Ciao. Giuseppe.
-
ufff...niente...ore ed ore di ricerche ma non riesco a trovare dove può essere stata inserita tale opzione.
Giuseppe.
-
Che sudata ragazzi !!! Ho risolto, si tratta di un bug di virtuemart.
Per apportare la correzione dovete editare il file In administrator/components/com_virtuemart/classes/ps_session.php
Per far funzionare in maniera corretta il tutto bisogna quindi intervenire nella classe ps_session in particolare nella funzione getShopItemid che originalmente recita cosi' :
function getShopItemid() {
if( empty( $_REQUEST['shopItemid'] )) {
$db = new ps_DB;
$db->query( "SELECT id FROM #__menu WHERE link='index.php?option=com_virtuemart' AND published=1");
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']);
}
mettendo queste linee dopo la dichiarazione della funzione :
// if there is no shopItemId i do a check if there is an ItemID
if( empty( $_REQUEST['shopItemid'] )) {
if( !empty( $_REQUEST['Itemid'] )) {
$_REQUEST['shopItemid'] = $_REQUEST['Itemid'];
}
}
in pratica in mancanza dello ShopItemId, prima va a vedere se e' stato passato un ItemId e solo se manca anche questo va a prendere come ultima spiaggia la prima voce di menu' che fa riferimento a VM.
La soluzione non è mia ma l'ho trovato girovagando quà e la per la rete.
Ciao. Giuseppe.