Joomla.it Forum
Componenti per Joomla! => Gestione e-commerce => VirtueMart - tips & tricks => : nym72 19 May 2011, 00:19:23
-
Li ho trovati in altri forum, li posto perchè penso possano essere utili
MI RACCOMANDO: FATE SEMPRE UN BACKUP DEI FILES CHE ANDATE A MODIFICARE!
1) Pathway duplicato quando si crea una voce di menu abbinata ad una particolare categoria usando lo stesso nome per la categoria e per la voce di menu
es.
Women/Accessories/Brooches/Accessories/Brooches
hack da applicare
Aprire
administrator\components\com_virtuemart\classes\mainframe.class.php
cambiare la funzione
"function vmAppendPathway( $pathway ) {...
con
function vmAppendPathway( $pathway ) {
global $mainframe;
// Remove the link on the last pathway item
$pathway[ count($pathway) - 1 ]->link = '';
if( vmIsJoomla('1.5') ) {
$cmsPathway =& $mainframe->getPathway();
/***** YZEDESIGN HACK ******/
$whatinpath=',';
foreach( $cmsPathway->_pathway as $tabpath ) {
$whatinpath.=','.$tabpath->name.',';
}
/***** YZEDESIGN HACK ******/
foreach( $pathway AS $item) {
if (!stripos($whatinpath,','.$item->name.',')){ //********* YZEDESIGN HACK
$cmsPathway->addItem( $item->name, str_replace('&', '&', basename($item->link)) );
}
}
} else {
$tpl = vmTemplate::getInstance();
$tpl->set( 'pathway', $pathway );
$vmPathway = $tpl->fetch( 'common/pathway.tpl.php' );
$mainframe->appendPathWay( $vmPathway );
}
}
2) Hack per risolvere l'inserimento di una categoria come categoria madre di un'altra in realtà indipendente
es.
su una struttura simile
- risparmio energetico>diffusori di flusso>prodotti
- cosmesi naturale>saponi>prodotti
cliccando su saponi il pathway veniva mostrato così
home>risparmio energetico>cosmesi naturale>saponi
Aprire il file
administrator/components/com_virtuemart/classes/ps_session.php
Queste le modifiche da apportare
codice originale
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']);
}
da trasformare così
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=0");
if( $db->next_record() ) {
$_REQUEST['shopItemid'] = $db->f("id");
}
else {
if( !empty( $_REQUEST['Itemid'] )) {
$_REQUEST['shopItemid'] = intval( $_REQUEST['Itemid'] );
}
else {
$_REQUEST['shopItemid'] = 0;
}
}
}
return intval($_REQUEST['shopItemid']);
}
-
IN PRIMIS: Ti ringrazio di aver condiviso la tua soluzione, sarà utile davvero a tantissime persone.
In secondis (:P) : ti espongo il mio problema dopo aver applicato il tuo secondo Hack (il primo non penso faccia al mio caso).
MAMMA MIAAA QUANTA ROBBA :)
Prima del tuo hack il pathway si comportava così
pre-condizione: Creazioni è una categoria di prodotti ed è raggiungibile direttamente (tramite apposito link) saltando la pagina Prodotti.
se vado in :
(Prodotti ->) Creazioni -> Prodotto qualsiasi
il pathway risultava sempre "Creazioni" (non cliccabile).
Dopo aver applicato il secondo dei tuoi hack
se vado in:
(Prodotti ->) Creazioni -> Prodotto qualsiasi
il pathway si aggiorna MA diventa Creazioni->Creazioni-> Prodotto qualsiasi (cliccabili entrambi).
Ti dico a me va bene che ci sia un primo link nel pathway, però questo mi dovrebbe puntare alla root delle categorie (nel mio caso Prodotti) e non a se stessa :)
Sono sicuro di non aver espresso benissimo il mio problema e per questo ti lascio anche la pagina di riferimento così potrai visionare il problema tu stessa Creazioni (http://lnx.cioverchia.it/index.php?option=com_virtuemart&Itemid=65)
-
Vix87, curiosità, ma se disattivi la voce di menu "Prodotti", cosa succede?
Se attivi il modulo delle categorie di virtuemart come esce il pathway?
-
ma se disattivi la voce di menu "Prodotti", cosa succede?
Se disattivo (= se non lo pubblico) la voce Prodotti, il pathway delle categorie Creazioni, Outdoor, Tessuti, Tende ritorna a fare il problema iniziale, non viene aggiornato.
Se attivi il modulo delle categorie di virtuemart come esce il pathway?
Dopo aver attivato il modulo (mod_product_categories) ho effettuato delle prove, risultati:
1- con i link superiori (nel top menu) ATTIVI,il pathway mantiene il problema.
2- con i link superiori (nel top menu) TOLTI, mantenendo solo Prodotti il problema scompare
a- Il pathway si costruisce in modo errato, esempio :
Prodotti -> Creazioni ->qualsiasi prodotto
il pathway visualizza solo (quando da Prodotti clicco su Creazioni visualizza solo Creazioni) Creazioni -> qualsiasi prodotto
Soluzione pensata:
Premessa: i link superiori vengono creati inserendo una nuova voce di Virtuemart ed inserendo nel Category ID l'opportuno ID.
Se io classifico tutti i collegamenti alle categorie di prodotto come link esterni e nel link inserisco l'url apposito? (soluzione non molto automatica)
Non c'è un modo per far si che la MacroCategoria Prodotti venga visualizzata sempre come root del pathway?
Avevo anche mod_virtuemart disattivato, continuo a fare prove...
-
Per ora provo a presentare al mio tutor (Aziendale) questa soluzione:
Se clicchi in una categoria presente nel main menu, poi tornare solo a quella.
Ora non mi ripete più il nome della categoria, ho applicato anche il primo hack.
Se riesci ad intuire il perché non posso tenere anche la macro categoria(Prodotti) e me lo comunichi, ti ringrazio.
-
Fa anche a me lo stesso "mestiere"
http://vivereimpattozero.it/
Il mio albero è
Shop>risparmio energetico>sottocategorie>prodotti
Shop>cosmesi>sottocategorie varie>prodotti
Ho il modulo VM attivato (a sn) e il menu categorie attivato (a ds)
Risparmio en. e cosmesi naturale sono in due bottoni a sè stanti nel top menu, la voce "shop" è attivata in un menu non visibile e ha il pathway attivato
Cliccando su risparmio en. e cosmesi dal top menu NON si vede che originano da "Shop" (nemmeno scendendo fino ai singoli prodotti), cliccandoci dal menu delle categorie sì, ma solo se scendo almeno in una sottocategoria es.
Shop >Risparmio energetico> Risparmio corrente elettrica
Ipotesi sul motivo per cui si comporta così non ne ho per ora, di certo c'è che appena si usa un link di vm come voce di menu di Joomla è come se la si "estraesse" dal suo albero madre :o
Domanda: e creando un menu in cui le voci contenenti le sottocategorie siano voci "figlie" della voce "prodotti"? Magari in questo modo il pathway verrebbe letto nel modo corretto....non so eh, è un'ipotesi....purtroppo ora non ho tempo per provare e da domani a domenica non ci sono, se hai voglia di testare fammi sapere che succede ;)
-
cambiando il file ps_session.php come illustrato sono riuscito a risolvere il problema, però ne ho ancora uno
utilizzando RANDOM PRODUCT se clicco sul prodotto random visualizzato mi compare correttamente il prodotto selezionato, ma con un indirizzo errato ovvero:
......../component/virtuemart/detail/........
come si può ovviare e come si può impostare random product che vada correttamente nella propria categoria anche nell'indirizzo url?
grazie per l'aiuto