Joomla e VirtueMart: utilizzare Joom!Fish per creare un negozio online multilingua

Ancor'oggi coloro che si affidano all'accoppiata Joomla - VirtueMart per gestire un sito di e-commerce che proponga, eventualmente, anche una parte editoriale più o meno corposa, trovano in Joom!Fish l'estensione più adatta alla realizz...

Ancor’oggi coloro che si affidano all’accoppiata Joomla – VirtueMart per gestire un sito di e-commerce che proponga, eventualmente, anche una parte editoriale più o meno corposa, trovano in Joom!Fish l’estensione più adatta alla realizzazione di un sito multilingua.
Nelle precedenti puntate, abbiamo visto come configurare l’ambiente di lavoro, in locale, per l’installazione ed il testing del duo Joomla – VirtueMart, l’impostazione di entrambi i prodotti ed alcuni suggerimenti per la personalizzazione della grafica e del comportamento degli stessi:

Joomla 1.6, già pubblicato in versione finale, supporta la possibilità di sviluppare e gestire siti web multilingua (ved., a tal proposito, questa notizia). Al momento, però, VirtueMart non è compatibile con Joomla 1.6 (gli sviluppatori stanno lavorando al rilascio delle prime versioni “beta“).

L’estensione Joom!Fish resta quindi una scelta quasi obbligata per coloro che vogliono aggiungere l’opzione multilingua ad un sito web basato su Joomla 1.5.x e VirtueMart.
Nel nostro caso, abbiamo provato ad abilitare Joom!Fish 2.1.5 su un’installazione di test di Joomla 1.5.18 con VirtueMart 1.1.4 per poi aggiornare i due pacchetti alle ultime versioni disponibili: 1.5.22 nel caso di Joomla e 1.1.7a nel caso di VirtueMart.
Joom!Fish è un prodotto piuttosto valido, nonostante alcuni meccanismi possano sempre (ed in parte lo sono), almeno inizialmente, un tantino cervellotici. Con alcuni interventi, tuttavia, è possibile non solo tradurre in altre lingue, diverse da quella predefinita, tutti i contenuti del sito web realizzato con Joomla ma anche tutte le schede dei prodotti del negozio online VirtueMart (insieme con gli altri elementi che compongono quest’estensione).

Prima di installare Joom!Fish sul proprio sito web Joomla-VirtueMart, è indispensabile provvedere a creare una copia di sicurezza di tutti i file contenuti sul server ed una copia di backup della base dati MySQL.
Il contenuto del database MySQL può essere salvato su disco fisso, sotto forma di file di testo (formato .SQL), ricorrendo ad un software client “ad hoc” come il buon vecchio “MySQL Administrator” (pacchetto “MySQL GUI Tools Bundle“) oppure il nuovo “Workbench“. Entrambi i software sono prelevabili dal sito web di Oracle dedicato a MySQL.

In alternativa, si può ricorrere ad applicazioni web-based come phpMyAdmin. Il software, spesso messo a disposizione da molti provider, consente di amministrare qualunque base dati MySQL e, quindi, di esportare anche i record in essa contenuti.

.

Qui, è necessario cliccare sul pulsante Sfoglia…, visualizzato a destra della casella Carica file pacchetto quindi selezionare il file compresso JoomFish2.1.5.zip appena prelevato.
Cliccando sul pulsante “Carica file & installa“, Joomla provvederà automaticamente a caricare la nuova estensione ed a predisporne il funzionamento. Il pacchetto di Joom!Fish integra un paio di moduli ed alcuni plugin: è possibile visionarne l’elenco completo al termine dell’installazione:

Tra i moduli si riconosce mod_jflanguageselection: esso permette agli utenti del sito web di selezionare la lingua prescelta. Di default, Joom!Fish visualizza delle bandierine; in alternativa, è possibile esporre semplicemente l’indicazione geografica (i.e. IT, EN, DE, FR, eccetera).
L’altro modulo, mod_translate, come si vede, è invece utilizzabile solo facendo riferimento al pannello amministrativo e permette di tradurre i contenuti del sito web.
I vari plugin vengono invece sfruttati per il funzionamento dell’estensione, la visualizzazione dei link facenti riferimento ai contenuti redatti nelle varie lingue disponibili, la gestione delle ricerche multilingua e degli elementi che non dispongono di alcuna traduzione.

Il terzo passo consiste nella scelta delle lingue in cui il sito web dovrà essere tradotto. Per stabilire in quali lingue si intende visualizzare i contenuti, Joom!Fish si appoggia a Joomla. E’ quindi indispensabile caricare in Joomla i file di lingua d’interesse.
Cliccando sul menù Estensioni, Gestione lingua di Joomla, si possono verificare le lingue al momento in uso:

Per aggiungerne delle altre, è sufficiente scaricarne i pacchetti d’installazione corrispondenti da questa pagina.

Nel nostro caso, abbiamo prelevato i file di lingua per tradurre Joomla in francese ed in tedesco. Consigliamo di scegliere sempre i file di lingua che contengano entrambe le traduzioni (“full“), sia per la parte amministrativa che per quella lato utente (rispettivamente, “back-end” e “front-end”). Entrambi i file, anch’essi in formato Zip, debbono essere installati facendo riferimento sempre al menù Estensioni, Installa/Disinstalla.
Al solito, è necessario fare riferimento alla casella Carica file pacchetto quindi al pulsante Carica file & installa.
Tornando sul menù Estensioni, Gestione lingua, si dovrebbero avere quattro lingue:

Non c’è un limite al numero di lingue che Joom!Fish è in grado di gestire: è possibile provvedere ad installare tutte quelle che si ritengono necessarie.

Adesso è la volta di tradurre l’interfaccia di amministrazione di Joom!Fish in italiano dal momento che, per impostazione predefinita, viene offerta in inglese.
Per aggiungere il file di lingua italiano a Joom!Fish è sufficiente ricorrere, ancora una volta, all'”installer” di Joomla cliccando su Estensioni, Installa/Disinstalla.
Noi abbiamo utilizzato questo file (versioni più aggiornate potrebbero essere rese pubbliche attraverso questa pagina).
Cliccando sul menù Componenti, Joom!Fish, Control panel, si accederà così all’interfaccia di amministrazione di Joom!Fish, interamente tradotta in italiano.

Impostazione delle lingue e traduzione degli elementi

Cliccando su Configurazione lingua, si potrà attivare tutte le varie lingue caricate in precedenza su Joomla (caselle “attivo“) e specificare il preciso ordinamento con cui dovranno essere presentate in home così come nelle pagine interne del sito web.

Ad esempio, per esporre, per prima, la bandierina italiana (cliccando su di essa, il visitatore accederà al sito web nella lingua predefinita: l’italiano), è sufficiente digitare “0” nella colonna “ordinamento“. I numeri successivi permetteranno di definire le posizioni seguenti.

Visualizzando la home page del sito, si noteranno immediatamente – nell’intestazione dello stesso – le quattro bandierine:

Cliccando su ciascuna di esse, gli elementi dell’interfaccia di Joomla così come quelli propri di VirtueMart saranno immediatamente tradotti.

” e così via.
Cliccando sulla sezione Elementi del contenuto del pannello di amministrazione di Joom!Fish è possibile notare, infatti, come non vi sia alcuna traccia di elementi facenti capo a VirtueMart.
Dall’area Elementi del contenuto, quindi, è necessario cliccare il pulsante Installa, fare clic su Sfoglia, selezionare questo file compresso (che si dovrà prima scaricare sul disco fisso), quindi cliccare su “Carica file & installa“.

Immediatamente, la sezione Elementi del contenuto di Joom!Fish si popolerà di alcuni elementi facenti riferimento a VirtueMart.

Per completare l’attivazione della possibilità di traduzione degli elementi che compongono il negozio online, si dovrà lanciare la seguente query SQL sulla base dati di Joomla:

ALTER TABLE `jos_vm_product_attribute_sku` ADD `attribute_sku_id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;

La query SQL può essere avviata da phpMyAdmin (sezione SQL) oppure dai software client per la gestione del database MySQL (MySQL Query Browser, parte di MySQL Administrator o dal Workbench MySQL).

Gli elementi propri dell’interfaccia di Joomla possono essere tradotti, molto semplicemente, dall’interfaccia del CMS opensource. Basta infatti accedere all’area amministrativa di Joomla quindi “navigare” tra i vari contenuti utilizzando il menù dell’applicazione web.
Ad esempio, per tradurre le voci del menù di navigazione del sito web, visualizzato a tutti i visitatori, è sufficiente selezionare Menu, Top menu quindi spuntare la casella corrispondente all’elemento da tradurre:

Nel nostro caso, il menù di navigazione (“Top menu“) del sito web contiene, al momento, quattro voci: Prodotti, Chi siamo, Come lavoriamo e Contatti.
Per tradurre il link Prodotti, è necessario spuntare la casella corrispondente quindi cliccare sul menù a tendina di Joom!Fish (translate to), in alto a destra, quindi scegliere una delle lingue precedentemente aggiunte.

Si aprirà una finestra attraverso la quale è possibile tradurre tutti gli attributi che contraddistinguono l’elemento selezionato. Al termine dell’operazione di traduzione, è necessario spuntare la casella Pubblicato per fare in modo che l’intervento apportato divenga effettivo. Dopo aver cliccato sul pulsante Salva, accedendo al front-end del sito e scegliendo la lingua nella quale si è provveduto a tradurre l’elemento selezionato, si noterà la presenza del termine corretto:

I vari elementi che compongo VirtueMart, invece, compresi tutti i prodotti presenti nel negozio online debbono essere tradotti accedendo al menù Componenti, Joom!Fish, Translation di Joomla quindi facendo riferimento al menù a tendina Elementi del contenuto.

Per evitare di far confusione, suggeriamo di sistemare sempre il sito in lingua italiana, impostando il negozio online secondo le proprie esigenze. Solo dopo aver verificato il perfetto funzionamento dello store online in italiano, si potrà passare a tradurlo nelle varie lingue con Joom!Fish.

La traduzione delle categorie dei prodotti VirtueMart si concretizza selezionando “VirtueMart Category” dal menù a tendina Elementi del contenuto:

L’operazione successiva è analoga a quella vista nel caso degli elementi che compongono l’interfaccia front-end di Joomla: è sufficiente selezionare l’elemento da tradurre ed attendere la comparsa della schemata successiva. Il menù Lingue consente, ovviamente, di indicare in quale lingua ci si accinge a tradurre l’elemento selezionato.

Tre differenti icone (rossa, gialla e verde) consentono di capire, a colpo d’occhio, quali elementi non sono stati ancora tradotti oppure sono stati tradotti in modo parziale. La pallina rossa indica che non è ancora disponibile una traduzione nella lingua scelta mentre la lampadina gialla fa presente che la traduzione appare incompleta. Il segno di spunta di colore verde evidenzia che la traduzione è stata effettuata in modo completo.

Per tradurre le schede dei singoli prodotti presenti nel negozio online è sufficiente scegliere la voce VirtueMart Products dal menù Elementi del contenuto.

Come ultima operazione, è bene procedere immediatamente – qualora non si fosse ancora provveduto – all’aggiornamento di Joomla e di VirtueMart.
Per portare Joomla all’ultima versione disponibile, è necessario accedere a questa pagina quindi scaricare l’archivio compresso più adatto. A titolo esemplificativo, per aggiornarsi dalla versione 1.5.18 alla 15.22, si dovrà prelevare il file Joomla_1.5.18_to_1.5.22-Stable-Patch_Package.zip.
Il contenuto del file Zip dovrà essere utilizzato per sovrascrivere tutti i file corrispondenti, presenti nell’installazione di Joomla al momento in uso.

L’update di VirtueMart, invece, può essere portato a termine anche dal pannello di amministrazione cliccando su Componenti, VirtueMart quindi su Amministrazione, Controlla aggiornamenti.

L’aggiornamento eventualmente disponibile può così essere installato in modo quasi del tutto automatico. VirtueMart, visualizzando l’elenco dei file in procinto di essere sostituiti, ricorda sempre che ogni aggiornamento non effettua il “patching” dei file presenti sul sistema ma li rimuove ponendo al loro posto le nuove versioni. Eventuali modifiche applicate manualmente al codice PHP di VirtueMart potrebbero così andar perdute. Prima di procedere è bene annotare la lista dei file oggetto d’intervento ed effettuare sempre un backup completo dell’installazione corrente di Joomla e VirtueMart.

L’ultimo passo consiste, ovviamente, nel verificare il funzionamento dell’intero sito web. Durante le nostre prove abbiamo rilevato alcuni errori che sono risultati facilmente risolvibili intervenendo sul codice PHP dell’applicazione web.
Nel caso in cui si dovessero rilevare inspiegabili errori durante l’utilizzo di VirtueMart, soprattutto durante la fase di impostazione dell’ordine, consigliamo di attivare l’impiego dell’estensione mysqli, in luogo di mysql, accedendo al pannello di amministrazione di Joomla, cliccando su Configurazione, Server quindi agendo sul contenuto del campo Tipo database (colonna di destra).

Ti consigliamo anche

Link copiato negli appunti