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]