Skip to main content

Traduzione dei VirtueMart files con JoomFish

Utilizzando VirtueMart 1.1JoomFish 2 potreste riscontrare un problema tale per cui i files associati ai prodotti non vengono tradotti.

Vediamo nel dettaglio di cosa si tratta e qual è la soluzione.

VirtueMart Files

Chi usa VirtueMart sa che è possibile associare ad ogni prodotto dei media di diverso tipo:

  • immagini
  • files scaricabili liberamente
  • files da vendere (per prodotti digitali)

In particolare, i files liberamente scaricabili sono spesso usati per associare manuali, brochures, o garanzie ai nostri prodotti.

Traduzione dei files

Se installate JoomFish e gli elementi di linguaggio per la traduzione di VirtueMart, tra le altre cose troverete anche la possibilità di tradurre i “VirtueMart Files”.

Questo è interessante perchè ci permette di associare alla versione italiana della pagina prodotto il manuale in lingua italiana, alla versione inglese il manuale in lingua inglese, e così via.

Solo che, dopo aver creato la traduzione – ovvero dopo aver selezionato un file in un’altra lingua – succede questo:

  1. vedete correttamente, nella versione tradotta, il nome e la dimensione del file tradotto
  2. se però cliccate per scaricare continua a scaricarvi il file originale.

Soluzione

Joomfish ha sempre bisogno dell’id. Ovvero, per poter intervenire e pescare il file corretto ha bisogno che il campo indicato come id di una certa tabella sia sempre incluso nei campi selezionati da una query.

Pertanto la soluzione è quella di modificare la funzione send_file nella classe ps_product_files. Aprite il file

/administrator/components/com_virtuemart/classes/ps_product_files.php

e andate alla riga 731 (stiamo parlando della versione 1.1.9, in altre versioni potrebbe variare). Sostituite

$sql = 'SELECT file_mimetype, file_name'

con

$sql = 'SELECT file_id, file_mimetype, file_name'

e il tutto dovrebbe funzionare correttamente.