Autore Topic: Hack per risolvere 2 problemi del pathway/breadcrumbs di VM  (Letto 8879 volte)

Offline nym72

  • Esploratore
  • **
  • Post: 107
  • Sesso: Femmina
    • Mostra profilo
    • Tempo di Vivere
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

Codice: [Seleziona]
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
Codice: [Seleziona]
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ì

Codice: [Seleziona]
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']);

   }


Offline Vix87

  • Esploratore
  • **
  • Post: 55
    • Mostra profilo
Re:Hack per risolvere 2 problemi del pathway/breadcrumbs di VM
« Risposta #1 il: 19 Mag 2011, 10:03:29 »
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).
Citazione
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
« Ultima modifica: 19 Mag 2011, 10:06:44 da Vix87 »

Offline nym72

  • Esploratore
  • **
  • Post: 107
  • Sesso: Femmina
    • Mostra profilo
    • Tempo di Vivere
Re:Hack per risolvere 2 problemi del pathway/breadcrumbs di VM
« Risposta #2 il: 22 Mag 2011, 00:52:46 »
Vix87, curiosità, ma se disattivi la voce di menu "Prodotti", cosa succede?

Se attivi il modulo delle categorie di virtuemart come esce il pathway?







Offline Vix87

  • Esploratore
  • **
  • Post: 55
    • Mostra profilo
Re:Hack per risolvere 2 problemi del pathway/breadcrumbs di VM
« Risposta #3 il: 23 Mag 2011, 16:47:12 »
Citazione
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.

Citazione
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...
« Ultima modifica: 23 Mag 2011, 17:01:02 da Vix87 »

Offline Vix87

  • Esploratore
  • **
  • Post: 55
    • Mostra profilo
Re:Hack per risolvere 2 problemi del pathway/breadcrumbs di VM
« Risposta #4 il: 23 Mag 2011, 18:27:21 »
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.

Offline nym72

  • Esploratore
  • **
  • Post: 107
  • Sesso: Femmina
    • Mostra profilo
    • Tempo di Vivere
Re:Hack per risolvere 2 problemi del pathway/breadcrumbs di VM
« Risposta #5 il: 24 Mag 2011, 01:17:30 »
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  ;)



Offline studiobellone

  • Esploratore
  • **
  • Post: 198
    • Mostra profilo
Re:Hack per risolvere 2 problemi del pathway/breadcrumbs di VM
« Risposta #6 il: 03 Feb 2012, 13:42:46 »
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
 

 

Torna su