Allora... scusate l'euforia... ma ho risolto il problema con una
giocata mirabolante niente male... e sono venuto qui per spiegarvela.
Ricapitoliamo l'obiettivo: pubblicare nella pagina di categoria di Virtuemart (per intenderci dove vengono sistemati su più righe i prodotti) un modulo che sia sempre diverso per ogni categoria e che NON sia visibile nella pagina di dettagli del singolo prodotto.
PROCEDURAPer prima cosa dovete decidere dove andrà a posizionarsi il modulo che pubblicherete nella categoria. Nel mio esempio lo inserirò a destra dei prodotti.
A questo punto prendete il file /components/com_virtuemart/views/category/tmpl/default.php e fatene un backup.
Dopo averlo backuppato siamo pronti per le modifiche. Rintracciate la riga
<div class="browse-view">
e sostituitela con una riga come questa<div class="browse-view" style="width:540px;float:left;">
Ovviamente il valore del parametro css width sceglietelo in base a quanti prodotti volete mostrare... fate un po' di prove con il firebug...Una volta che "avete fatto posto" nella pagina per il modulo, inserite questa riga subito prima di quella che vi ho mostrato precedentemente...
<div style="float: right; width: 250px;">
<?php $category=$this->category->category_name; /*echo $category;*/?>
<?php $modules =& JModuleHelper::getModules($category);
foreach ($modules as $module) {
echo "<div>";
echo JModuleHelper::renderModule($module);
echo "<>";
} ?>
<>
Anche in questo caso il valore del width lo scegliete come volete... invece dell'inline css potete anche fare delle classi ovviamente, e inserirle nel file vmsite-ltr.css che posizionerete nella cartella css del vostro template (override).La cosa interessante di questa soluzione è come si seleziona il modulo da inserire:
<?php $category=$this->category->category_name; /*echo $category;*/?>
<?php $modules =& JModuleHelper::getModules($category);
Create un modulo e quando ne definite la posizione dategli LO STESSO NOME DELLA CATEGORIA VIRTUEMART IN CUI VORRETE CHE APPAIA (rispettate maiuscole e minuscole altrimenti non funziona). Si discrimina quale modulo pubblicare proprio in base al nome della categoria!!!!Vi domanderete: e se ho delle categorie che si chiamano alla stessa maniera?Quando create il modulo, in Assegnazione Menu, selezionate soltanto la voce di menu alla quale avete collegato la vostra categoria Virtuemart (se non ce l'avete, createla in un "menu nascosto").Finite le modifiche al file default.php, copiatelo all'interno della cartella /html/com_virtuemart/category del vostro template (se non ce l'avete, createla... serve per fare l'override e poter aggiornare virtuemart senza perdere le modifiche fatte)
Se avete dubbi o domande chiedete pure... spero di essere stato utile e più chiaro possibile.
Ciao a tutti!