17731 Letture

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 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:

Preparazione del server e del database. Installazione di Joomla e di VirtueMart
Configurazione del negozio virtuale e gestione del catalogo prodotti
Personalizzazione dell'aspetto grafico di Joomla e di VirtueMart

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.

Dopo aver effettuato il backup completo del sito web sul quale ci si accinge ad intervenire, si può passare all'installazione dell'ultima versione di Joom!Fish. Una volta prelevato il file compresso (è in formato .Zip) di Joom!Fish, si può accedere al pannello di amministrazione di Joomla, cliccare sul menù Estensioni quindi sulla voce Installa/Disinstalla.

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.


  1. Avatar
    wonwuster
    10/10/2014 02:57:34
    Ciao, non trova la tabella e il DB. Sicuro di aver inserito user password server e DB.name nel file di configurazione?
  2. Avatar
    Epher
    09/10/2014 11:51:50
    Ciao, grazie innanzitutto delle indicazioni che hai condiviso, utilissime...però..ho un problemino, se gentilmente potessi aiutarmi.. :) ho eseguito la procedura come descritto, ma all'esecuzione della query la risposta è : #1146 - Table 'uw1mhkay_lodyW.jos_vm_product_attribute_sku' doesn't exist sul sito, lato admin, invece, dice : No valid database connection: DB function fallita con errore numero 1146 Table 'uw1mhkay_lodyW.jhost_vm_manufacturer' doesn't exist SQL=SELECT c.manufacturer_id as id, c.manufacturer_id, c.mf_name as title, c.mf_name, c.mf_email, c.mf_desc, c.mf_url, jfc.id as jfc_id, jfc.value as titleTranslation, jfc.modified as lastchanged, jfc.published as published, jfc.language_id, jfl.title as language, jfc.reference_id as jfc_refid FROM jhost_vm_manufacturer as c LEFT JOIN jhost_jf_content as jfc ON c.manufacturer_id=jfc.reference_id AND jfc.reference_field='mf_name' AND jfc.reference_table='vm_manufacturer' AND jfc.language_id=1 LEFT JOIN jhost_languages as jfl ON jfc.language_id=jfl.lang_id ORDER BY c.mf_name LIMIT 0, 20 :confuso: puoi aiutarmi? graziegrazie :)
Joomla e VirtueMart: utilizzare Joom!Fish per creare un negozio online multilingua - IlSoftware.it