Slide JoomlaDay 2009 - Ecommerce con VirtueMart

Transcript

Slide JoomlaDay 2009 - Ecommerce con VirtueMart
E-Commerce con VirtueMart:
novità e casi pratici.
www.vmitalia.net
Relatori: Alessandro Chessari Marco Manieri
1) Novità di Virtuemart
Versione attuale 1.1.4 che ha risolto parecchi bug e problemi di compatibilità fra
i vari Browser.
Versione in Sviluppo 1.5
Alcune novità : moduli di pagamento, lingue e moduli di spedizione verranno
installati e gestiti come dei plug-in interni.
Ci saranno alcune nuove funzionalità ma non essendo ancora disponibile una
versione funzionante non abbiamo avuto modo di verificare.
L'obiettivo prioritario è riscrivere completamente il codice secondo lo standard
MVC di Joomla e utilizzando il più possibile metodi nativi di Joomla 1.5.
In particolare per la Versione 1.5 è stato creato un nuovo team di sviluppo del
prodotto e stanno pensando anche di dare un nuovo nome al componente.
Configurazione e personalizzazione tema e
templates di virtuemart
SELEZIONE TEMA
In Configurazione > Sito è possibile selezionare il tema applicato (il predefinito è
"default").
La cartella di un tema è presente nel percorso
components/com_virtuemart/themes/NOMETEMA
Si possono costruire nuovi temi partendo da quello base
copiare la cartella NOMETEMA in locale rinominarla con un nuovo nome e
pubblicarla tramite ftp sempre nello stesso percorso
components/com_virtuemart/themes/NUOVOTEMA
La cartella di un tema è così strutturata:
images/* > cartella con le immagini utilizzate nel tema
templates/* > cartella con i "template" cioè i modelli delle varie pagine o moduli di
VirtueMart (es. browsepage, flypage, carrello...)
admin.css - admin.styles.css > definiscono gli stili CSS per l'amministrazione da
frontend
theme.config.php > memorizza i parametri configurati per il tema (vedi sezione 2 configurazione)
theme.css > file principale che definisce gli stili CSS per il tema; la maggior parte
della personalizzazione grafica dovrebbe essere effettuata qui
theme.js > file javascript contenente funzioni usate nel frontend dal tema; per il
tema default contiene in particolare funzioni per l'apertura di pagine (es. carrello)
in popup Slimbox, per il messaggio di inserimento nel carrello, e per l'aggiornamento
del modulo mini-carrello.
theme.php > è il primo file che viene richiamato al caricamento del tema; da
cui vengono caricati i file Javascript e CSS, la libreria Mootools, e vengono
definite funzioni PHP usate poi nelle pagine template: vmBuildFullImageLink,
vmMoreImagesLink, vmlistAdditionalImages. File molto importante per la
definizione di funzioni utilizzate nel thema e anche nel core di virtuemart.
theme.xml > file XML di definizione del tema, dove poter inserire nome,
autore, descrizione... Per ora viene usato solo per definire i parametri
configurabili (sezione 2), in futuro verrà usato per rendere un pacchetto tema
"installabile",simile a quelli usati per i componenti di Joomla.
CONFIGURAZIONE - PARAMETRI
Sotto al combo di selezione del tema click su Configurazione
qui sono presenti una serie di parametri, che sono definiti nel file theme.xml e
vengono salvati nel file theme.config.php.
Il metodo $this->get_cfg(parametro, default) sarà disponibile in ogni template
del tema. Questa tecnica è quindi utile per rendere il tema configurabile
dall'utente, senza dover modificare la pagina di configurazione generale di
VirtueMart.
Attenzione: alcuni parametri, come il primo (Product List Style) e l'ultimo
(Number of recent products to Display) vengono richiamati FUORI dal
template.. es. nel file [VM_ADMIN]/html/shop.browse.php, quindi se si crea un
nuovo template, è bene mantenere comunque i parametri di default.
3) STRUTTURA TEMPLATES
* basket: pagine relative alla visualizzazione del carrello
* browse: template di navigazione all'interno della categoria prodotti
* checkout: pagine relative al processo di conferma dell'ordine (cassa)
* common: vari mini-template utilizzati in diversi punti (es. template di
visualizzazione del prezzo)
* order_emails: definisce l'email che viene spedita al cliente al momento dell'ordine
e quella per la richiesta di informazioni
* pages: definisce l'aspetto grafico di varie pagine (es. gestione account)
* product_details: template della pagina dettaglio prodotto
4) BASKET
basket_b2b.html viene utilizzato per visualizzare il carrello quando i prezzi vengono
mostrati IVA esclusa, altrimenti, per l'impostazione IVA inclusa, viene caricato il
file basket_b2c.html.
La visualizzazione o meno dell'IVA è impostabile a livello di gruppi cliente (dal
pannello VirtueMart, menu Clienti > Lista dei Gruppi Utenti).
I file ro_basket_b2b.html e ro_basket_b2c.html (rispettivamente per IVA esclusa ed
inclusa) vengono invece utilizzati per la visualizzazione del carrello in modalità
"sola lettura", cioè nell'ultimo passaggio della procedura di ordinazione, quando
viene mostrato l'ordine definitivo da confermare.
5) BROWSE PAGE
La browse page utilizzata viene definita per ogni categoria prodotto, e quella
predefinita è impostata da Configurazione > Sito.
E' possibile selezionare una browse page specifica, tra quelle presenti nella
cartella templates/browse, oppure selezionare managed: in questo caso, verrà
selezionata la browse corretta in base al numero di prodotti per riga impostato
per quella categoria.
1 prodotto = browse_1.php, 2 prodotti = browse_2.php, eccetera.
Variabili disponibili per la browse sono 30 .
6) FLY PAGE
La fly page utilizzata viene definita per ogni categoria prodotto, e quella
predefinita è impostata da Configurazione > Sito.
E' possibile selezionare una flypage tra quelle presenti nella cartella
templates/product_details.
Visto che un prodotto può essere presente in più categoria, la flypage cambierà in
base alla categoria da cui si proviene.
Ci sono 38 Variabili disponibili.
7) ESTENSIONE CLASSI
Tramite i temi è possibile "estendere" le classi di VirtueMart (es. ps_product), e quindi
le funzioni in esse incluse. Per abilitare la funzionalità, anzitutto attivare da
Configurazione > Sicurezza l'opzione: "Abilitare l'inclusione di classi estese dalla cartella
del tema". Le classi vanno definite con gli stessi nomi file delle originali, in questo
percorso:
/components/com_virtuemart/themes/default/user_class/
Ad esempio qui possiamo creare un ps_product.php, dove inserire:
class ps_product extends vm_ps_product {
// qui mettere le funzioni che si vuole personalizzare - aggiungere
function show_price( $product_id, $hide_tax = false ) {
$pricedisplay = $parent::show_price();
// esempio: faccio una sostituzione al prezzo normale
$pricedisplay = str_replace("(incluso 20 % I.V.A.)", "IVA inclusa", $pricedisplay);
return $pricedisplay;
}}
Ulteriori informazioni sono disponibili ai
seguenti indirizzi :
www.vmitalia.net
forum.vmitalia.net
manuale.vmitalia.net
xref.vmitalia.net\vm11
Email di contatto: [email protected]