Come configurare il multilingua in Magento

Logo-magentoNel precedente tutorial, ci eravamo lasciati dopo aver analizzato alcuni concetti fondamentali per la creazione di un negozio multi-lingua con Magento. E’ giunto il momento di abbandonare la teoria e passare alla pratica. In questo tutorial vedremo come configurare il nostro e-commerce per poterlo visualizzare sia in lingua Inglese che in Italiano. Per chi non lo avesse ancora fatto, consigliamo, prima di procedere, di installare la traduzione italiana come descritto in questo tutorial.

Gestione Negozi: creriamo le vetrine

Colleghiamoci all’amministrazione di Magento e, dal menù “Sistema” selezioniamo la voce “Gestisci negozi“.

1

Per far si che il nostro e-commerce risulti navigabile sia in lingua inglese che in italiano, utilizzeremo 1 “Website“, 1 “Website Store” e 2 “Store View“. Una vetrina prenderà il nome “Italiano“, la seconda “English” (Questi nomi verranno successivamente utilizzati da Magento nel menù a tendina che verrà mostrato sul sito per passare da una lingua all’altra). Per prima cosa, dato che una vetrina risulta già configurata, andiamo a modificarne il nome: clicchiamo sul link “Default Store View” e compiliamo il form come illustrato nell’immagine seguente:

nome-vetrina

Successivamente, dopo aver modificato il nome alla vetrina clicchiamo sul pulsante “Crea Vetrina Negozio” (in alto a destra) e andiamo a creare la seconda vetrina, compiliamo il form come segue:

nome-vetrina-english

Successivamente, come giustamente ci suggerisce anche Magento,

index-management

ricordiamoci di aggiornare gli indici, nell’apposita sezione raggiungibile cliccando sulla voce “Index Management“, raggiungibile dal menù “Sistema“.
Raggiungiamo ora la voce “Configurazione” dal menù “Sistema“. Noteremo come nella colonna di sinistra sono apparse le vetrine appena configurate: clicchiamo su “English”, come illustrato nell’immagine seguente.

colonna-sinistra-ok

Apriamo la sezione “Locale Options” e compiliamo il form come segue

locale-options

In questo modo abbiamo appena “istruito” Magento in modo che, visualizzando la vetrina “English” mostri il sito in Inglese. Prima di proseguire ripetiamo questo ultimo passaggio selezionando dalla colonna di sinistra la vetrina “Italiano” e assicuriamoci che tra queste stesse opzioni la voce “Impostazioni Locali” risulti impostata su “italiano (Italia)“. Colleghiamoci ora al front end del nostro sito e noteremo la comparsa di un menù che ci permetterà di passare da una lingua all’altra, come illustrato nell’immagine seguente

cambio-lingua

Nel caso non dovesse comparire tale elemento, probabilmente perché non implementato nel template che stiamo utilizzando, dovremo copiare il seguente codice

<?php echo $this->getChildHtml('store_language') ?>

e collocarlo dove, all’interno del nostro template, vogliamo appaia il menù a tendina (per esempio nel template modern, tale codice è inserito nel file “app/design/frontend/default/modern/template/page/html/header.phtml”).

Lascia un commento

Tutti i campi sono obbligatori.
L'indirizzo email non verrà pubblicato

 

Commenti

  1. avatarcaldaie

    Quindi per visualizzare solo una lingua diversa dall’inglese è sufficente modificare lo store view di defaulte cambiare il suo codice per esempio in “es” per lo spagnolo o “it” per l’italiano?

  2. avatarRoberto Rubino Autore

    L’importante non è il cambio del codice della store view, ma la configurazione della lingua che apporterai nella sezione “Locale Options” (vedi sopra per la spiegazione).

    Ciao

  3. avatarluca

    Finalmente dei tutorial precisi ed esaustivi !
    Siete grandi !
    Luca

  4. avatarmassimo

    Ho scoperto che nella versione 1.5.0.1 se creo un articolo (nel mio caso configurabile) e scrivo per ogni vetrina descrizione, titolo, meta e url diversi a seconda della lingua, il titolo del prodotto rimane quello di default mentre il resto cambia. Ho controllato negli attributi ma non ci sono errori. Probabilmente è un problema che è nato con questa versione poiché in quelle precedenti non c’era.

  5. avatarGianfranco

    Cio Roberto e grazie per i validi tutorial che ti assicuro sono utilissimi, almeno per me che non sono un programmatore.
    Ho configurato il mio sito multilingua come hai spiegato e va tutto bene.
    L’unico neo che non riesco a risolvere è che quando chiamo http://www.elbamania.com mi arriva la versione inglese e non quella in italiano come vorrei.
    Mi sai dire cosa sbaglio?
    grazie in anticipo
    Gianfranco

  6. avatarRoberto Rubino Autore

    Ciao e grazie… prova a fare un controllo… vai in SISTEMA->CONFIGURAZIONE e dal menu di sinistra seleziona GENERALE (prima voce del menu).
    Sulla destra seleziona “LOCALE OPTIONS” e controlla che alla voce “IMPOSTAZIONI LOCALI” sia configurato il valore “ITALIANO (ITALIA)….

    Ciao

  7. avatarCarlo

    Ciao,
    compliemnti per il tutorial, volevo chiederti: una volta impostata la lingua come fare per far in modo che una volta selezionata la lingua desiderata compaia anche la descrizione del prodotto con quella lingua?

    Ti ringrazio aticipatamente per l’aiuto.

  8. avatarRoberto Rubino Autore

    Ciao, se hai configurato nella scheda prodotto del back-office, il testo per quel prodotto e per quella lingua.. quello che richiedi avviene in automatico… prova a spiegarmi meglio quello che hai fatto per “impostare la lingua”

    Ciao

  9. avatarGiancarlo

    Ho seguito alla lettera il tutorial ma se ricarico la pagina perde il template e compare la seguente scritta: “There was no Home CMS page configured or found.”
    Cosa manca?

  10. avatarRoberto Rubino Autore

    Ciao, l’errore “There was no Home CMS page configured or found.” esce quando non hai impostato la “Vista negozio” corretta sulla pagina in questione. Vai in CMS->PAGE e verifica il campo “Vista Negozio” (se la pagina è ugale per tutte le vetrine, potresti configurare questo campo su “Tutte le vetrine del negozio”)

    Ciao

  11. avatarvito

    articolo ben fatto ma ti consiglierei di correggere “essendo che già una vetrina risulta configurata” con “dato che una vetrina risulta già configurata”

    ciao

  12. avatarRoberto Rubino Autore

    Grazie Vito, ho subito seguito il tuo consiglio!

    :-)

  13. avatarMarco

    Salve, sto configurando il multilingua seguendo la vostra guida. Volevo chiedervi come mai mi appare questo avviso: “Prima di modificare il codice vista negozio assicurarsi che non sia utilizzato in index.php.”

    Come mi accorgo se è utilizzato o meno in index.php?

  14. avatarRoberto Rubino Autore

    Ciao Marco,
    in fondo al file index.php ci sono le seguenti righe di codice:

    $mageRunCode = isset($_SERVER[‘MAGE_RUN_CODE’]) ? $_SERVER[‘MAGE_RUN_CODE’] : ”;

    /* Run store or run website */
    $mageRunType = isset($_SERVER[‘MAGE_RUN_TYPE’]) ? $_SERVER[‘MAGE_RUN_TYPE’] : ‘store’;

    Mage::run($mageRunCode, $mageRunType);

    In pratica Magento ti sta avvisando di controllare se il codice vista negozio che stai cancellando, non sia utilizzato come valore della variabile “$mageRunCode”.. e questo potresti averlo impostato te modificando queste righe di codice, oppure con qualche configurazione fatta nell’htaccess (potresti averlo fatto per configurare un multistore-multidominio)

    Ciao

  15. avatarFabio

    Se io volessi sostituire il menù a tendina di magento con delle icone che rappresentano il paese con cui voglio tradurre il mio sito, è possibile?A quali parti di magento dovrei mettere mano?

  16. avatarRoberto Rubino Autore

    Prova a guardare in questa cartella del template:

    app/design/frontend/base/default/template/page/switch/

    troverai sicuramente qualche cosa che fa al caso tuo

    ciao

  17. avatarMarco

    Buongiorno,

    Ho questo problema: Ho creato il multilingua e tutto funziona perfettamente. Quando però ci si collega per la prima volta all’home page del sito viene sempre scelta come vista predefinita quella inglese, mentre vorrei che fosse ovviamente la lingua italiana la predefinita. Come vista negozio predefinita ho “Italiano” per entrambe le viste, ma mi seleziona comunque quella inglese quando si accede al sito. Accade anche a voi?

  18. avatarMarco

    Niente, ho sbagliato io :). Mi sono accorto adesso che è solo un problema di cookies. Se non si cancellano i cookies il browser ti rimanda sempre all’ultima vista visitata, altrimenti di default mi seleziona correttamente quella italiana.

  19. avatarFrancesco

    ciao, ottima guida grazie! Ho una domanda, come si fanno a tradurre (in automatico) le descrizioni e il titolo dei prodotti inseriti?

    Grazie ancora

  20. avatarRoberto Rubino Autore

    Ciao Francesco,
    per evitare di aprirti uno a uno da back-office i prodotti per editare i campi, potresti pensare di utilizzare le funzionalità di import/export che trovi dal menu SISTEMA->IMPORT/EXPORT

    In questo modo in una prima fase ti esporti il csv con tutti i tuoi prodotti… fai le dovute traduzioni e poi lo reimporti

    ciao

  21. avatarFrancesco

    ciao Roberto grazie, pensavo esistesse un modo per tradurre in automatico…anche perchè il russo e il cinese non lo mastico :)

  22. avatarErcole

    Ciao Roberto grazie, semplice e immediato.
    Tutto ok, funziona benissimo.
    Ho capito che i prodotti di default sono nel main store, e quindi condivisi tra le diverse email. Quello che non capisco è come disabilitarli da una vetrina, cioè vorrei disabilitarli tutti dall’inglese (es.) per poi riabilitarli uno alla volta quando li avrò tradotti. Senza influenzare la parte italiana ovviamente.
    Come fare ?, ho provato sia con l’opzione “aggiorna attributi” che entrando nel singolo prodotti, ma l’abilitazione e la disabilitazione agisce sul prodotto indipendentemente dalla vetrina.

  23. avatarRoberto Rubino Autore

    Ciao,
    l’attributo “Stato” è di tipo WEBSITE, questo vuol dire che non hai la possibilità di settare un valore differente per vetrina…. lo potevi fare se era un attributo di tipo STORE VIEW

    Se hai la necessità di nascondere momentaneamente i prodotti della vetrina inglese, potresti settare l’attributo “Visibilità” (che è di tipo STORE VIEW) sul valore “Non visibile individualmente”.

    E’ un uso sicuramente improprio dell’attributo “Visibilità”, ma se come dicevi è solo una questione momentanea, potresti anche fare così.

    Ciao

  24. avatarErcole

    Ottimo, risolto. Grazie Mille.
    Sempre in relazione al multilingua, c’è una cosa di cui non sono riuscito a trovare documentazione: cioè l’Home Page.
    Insomma, attivando il codice negozio riesco a puntare alle due pagine “…it” e “…it/en”, cioè italiano e inglese. Entrambi le pagine però puntano alla stessa pagina home del CMS, e per quanto riguarda la traduzione non c’è problema, mentre per quanto riguarda i link: come si fa a personalizzarli ? Cioè ad esempio il blocco statico footer_links è unico, e non posso crearne uno per lingua ?, cioè come si fa a personalizzare il link alle condizioni di vendita italiane e inglesi ?

    Ciao e grazie

  25. avatarErcole

    Rettifico, in realtà attivando il codice negozio è vero che viene impostato en all’URL di base dell’inglese, ma mette default nell’URL italiano rendendo impossibili le visite da tutti i siti da cui si è reindirizzati e indicizzati (google ecc…).
    Quindi l’unica possibilità sembra essere:
    – per la vetrina di default mettere ?___store=default come postfisso
    – per la vetrina aggiuntiva (inglese) ?___store=en come postfisso
    ma google, nel webmasters tools come fa a comprendere la differenza ? Visto che nella sitemap questi postfissi non vengono impostati

    Ciao e grazie

  26. avatarErcole

    Dopo prove e ricerche ho scoperto che la personalizzazione dell’Home Page in relazione alla lingua è semplice. E’ sufficiente andare in Sistema->Web->Pagine di default e impostare il campo “CMS Home Page” con la pagina opportunamente configurata ( verificare prima di aver impostato la vetrina corretta nel campo “Configurazione attuale campo di applicazione”).
    Rimangono però due Static Block che non riesco a impostare correttamente, e cioè il footer_links e il menu, praticamente come si ga a dire a Magento di prendere il footer_links della lingua giusta ?

    Ciao e Grazie
    Ercole

  27. avatarRoberto Rubino Autore

    Quando Magento è configurato multivetrina, quando si crea un blocco statico compare il campo “Store View”, che ti permette di assegnare il blocco a una vetrina particolare (oppure a tutte se lo imposti “All Store Views”).

    Quindi puoi creare un blocco statico “footer_links” e associarlo alla tua vetrina inglese… e un altro con lo stesso identificativo “footer_links” e assegnarlo alla vetrina italiana

    Ciao

  28. avatarFrancesco

    Buongiorno Roberto e complimenti per il tutorial, davvero chiaro e ben fatto.

    Ho creato la doppia lingua e apparentemente funziona tutto.
    Ho notato però che l’url rewrite per le pagine prodotto non funziona, esempio:

    Creo un prodotto e per ottimizzarlo sui motori di ricerca, inserisco un url differente per ogni lingua.

    Successivamente, se invio un link di una pagina prodotto in inglese ad un amico, ma lui ha lingua predefinita del browser in italiano, gli appare una bella, anzi brutta “404 page not found”.

    Hai avuto esperienze con questo problema?
    Grazie,
    Francesco.

    Questo è un bug di mangento oppure sto sbagliando in qualcosa?

  29. avatarFrancesco

    Ciao Roberto,
    Tramite il cms, ho creato due homepage differenti (inglese e italiano), quindi l’url per la home è identico.

    Quello che succede è che quando sono su una pagina prodotto in lingua italiana e provo a cambiare lingua viene aggiunto il seguente suffisso all’url: ?language=english&___store=english trovandomi davanti una 404.

    stesso problema per la lingua inglese: ?language=italian&___store=italian

    Grazie.

  30. avatarRoberto Rubino Autore

    Ciao Francesco,
    io ora non so se il tuo sito è già online, e quanti problemi ti possa creare questa attività che ti suggerisco, comunque potresti valutare l’idea di aggiungere il codice della vetrina sull’url

    In questo modo avrai 2 url differenti tra le vetrine (ipotizzando che il codice della vetrina italiana sia “it” e “en” quello della vetrina Inglese), avrai quindi 2 url:

    dominio.it/it
    dominio.it/en

    Proviamo a vedere se ho compreso quello che succede:
    Ipotizziamo che sei sulla vetrina italiana a questo url

    dominio.it/maglietta.html

    e, facendo lo switch di lingua, atterri sull’url

    dominio.it/t-shirt.html

    In questo momento tu sei di fatto collegato alla vetrina Inglese.
    Quando il tuo amico raggiunge l’url “dominio.it/t-shirt.html”, non c’è nessuno che dice a Magento di caricare la vetrina Inglese e quindi Magento carica quella di default che è quella Italiana, dove però l’url “t-shirt.html” non esiste (perchè è l’url di quel prodotto nella vetrina inglese)… e quindi viene visualizzata la pagina 404.
    Se ci fosse stato appeso all’url il codice della vetrina, tu avresti passato al tuo amico il seguente url

    dominio.it/en/t-shirt.html

    e Magento avrebbe fatto partire la vetrina corretta, ovvero quella Inglese.
    Per appendere all’url il codice vetrina devi andare in

    SISTEMA -> CONFIGURAZIONE -> WEB -> OPZIONI URL -> Aggiungi codice negozio agli URL

    Spero di aver capito la tua situazione e di essere riuscito a chiarirti un po’ il funzionamento

    Ciao

  31. avatarFrancesco

    Ciao Roberto,
    hai centrato in pieno il problema. Ti ringrazio tantissimo peril tuo supporto e terrò sicuramente in considerazione Artera per eventuali collaborazioni.

    Grazie,
    Francesco.

  32. avatarEleonora

    Ciao Roberto,
    ti chiedo un consiglio: voglio aggiungere il codice negozio agli Url, ma non vorrei aver problemi con servizi di terze parti.
    E’ sicuro che con paypal potrebbe dare problemi? E quali altri servizi indispensabili vanno in conflitto con questa impostazione?

    Ti ringrazio in anticipo.

  33. avatarRoberto Rubino Autore

    Ciao Eleonora,
    con PayPal puoi stare tranquilla, non mi ha mai dato problemi con i codici negozio sugli URL… se usi anche qualche gateway di carte di credito per scrupolo ti consiglio di verificare il loro funzionamento (mi era capitato con un vecchio modulo di avere problemi).., ovvero verificare che se l’utente inizia la transazione su una vetrina (es: miosito.it/en), quando torna dal gateway venga riportato sulla stessa vetrina per comunicargli la riuscita dell’operazione

    Ciao

  34. avatarPaolo

    Fatto tutto però nel frontend quando seleziono la lingua italiana si vede solo l’header e sotto una scritta:

    There was no Home CMS page configured or found.

    Perchè?

  35. avatarPaolo

    Scusate ho risolto, dovevo solo creare un’altra home per l’italiano.

  36. avatargaetano

    Salve,
    come faccio a cancellare una vista negozio? Ho visto che a volte entrando in una vista negozio appare la possibilità di cancellare una vista negozio, altre volte no.
    Mi sapere dare qualche informazione?
    Grazie

  37. avatarRoberto Rubino Autore

    Si possono cancellare solo le vetrine che non sono definite come predefinite..quindi non vi appare il pulsante per quelle vetrine che sono state definite “predefinite” per un particolare negozio

    Saluti

  38. avatargaetano

    Salve, per vetrina si intende “”Nome vista negozio” (in Inglese Store View Name)? Come si fa a definire una vetrina “predefinita?

    Ciao e grazie

  39. avatarRoberto Rubino Autore

    Si, si intende “Nome vista negozio”.

    Per settare quella di default, nella schermata raggiungibile da SISTEMA->GESTIONE NEGOZI bisogna cliccare sul “Nome negozio” (2 colonna) e nella schermata che appare modificare il campo “Vista negozio predefinita”

    Ciao

  40. avatarMarkus

    Ciao e complimenti per l’articolo. Ho alcune perplessità… dovrei effettuare un’attività di SEO sulla lingua inglese, magento. Il sito è di default in italiano, la lingua inglese non viene raggiunta amenoche non venga selezionata dalla tendina praticamente nascosta ai motori di ricerca. L’utente poi dopo aver selezionato la lingua inglese.. in seguito alla visita successiva si troverà a visionare la lingua inglese, cioè l’ultima lingua impostata prima di uscire dal sito web, peraltro con stessa url dell’italiano.
    Seguiro’ la vostra procedura per mettere /en/, vorrei lasciare di default senza /it/ l’italiano se è possibile, ma soprattutto vorrei togliere il riconoscimento automatico del browser di default, è possibile disabilitare i cookies per la lingua, e lasciare all’utente la visione della lingua secondo la propria scelta, cioè indipendentemente dalla lingua che aveva visionato sul sito web? Vorrei che al ritorno visionasse solo la lingua italiana, la homepage del sito web nomedominio.com deve essere sempre italiana, e nomedominio.com/en/ nel caso di lingua inglese…
    Inoltre come posso esplicitare un url (inserendo su ogni pagina il titolo linkabile dell’equivalente pagina nell’altra lingua) oppure inserire una bandierina (senza form) che mi porti all’url equivalente dell’altra pagina equivalente nell’altra lingua..

  41. avatarRoberto Rubino Autore

    Ciao Markus, Magento non ti permette di mettere il codice negozio sull’URL solo per una vetrina e non per l’altra, l’impostazione “Aggiungi codice negozio agli Url” è di tipo GLOBALE… quindi con gli strumenti standard di Magento non riesci a fare quello che chiedi.

    Non hai neanche la possibilità di esplicitare per ogni pagina in lingua qual’è il corrispondente URL nell’altra lingua… hai però a disposizione la gestione degli URL REWRITE.
    Ipotiziamo di aver fatto la pagina “chi-siamo.html” che è attiva per la versione ITALIANA del sito, quindi la visitiamo con l’url

    http://www.sito.it/it/chi-siamo.html

    e anche la pagina “company.html” (che è la stessa pagina ma tradotta in inglese) che è attiva per la versione INGLESE del sito, quindi la visitiamo con l’url

    http://www.sito.it/en/company.html

    Dovresti creare 2 regole personalizzate di REWRITE, andando dal backend di Magento nella sezione CATALOGO -> GESTIONE URL REWRITE

    1) che gestisce il passaggio da IT a EN: percorso richiesto: chi-siamo.html – percorso bersaglio: company.html
    2) che gestisce il passaggio da EN a IT: percorso richiesto: company.html – percorso bersaglio: chi-siamo.html

    Capisco che è un po’ contorta come cosa.. fai delle prove e nel caso chiedimi che provo ad aiutarti

    Ciao

  42. avatarMarkus

    …grazie, 2 regole per ogni pagina quindi? Non c’e’ un modo tramite htaccess o direttamente inserendo un codice sulle pagine per gestire dinamicamente la questione.. sto cercando di realizzare uno script per la gestione del hreflang..

    Poi ho provato ad inerire un modulo Optimize 301 per la gestione massiva di redirect 301, ma non funziona, avete suggeritmenti in merito, qualcuno l’ha provato?.. Mi serve per recuperare i file indicizzati senza /it/ e quindi non creare problematiche di 404. Dovrei reindirizzare da /pagina.html a /it/pagina.html e quel modulo mi semrbava un’ottima soluzione, purtroppo senza successo.. Ho cercato di modificare direttamente htaccess ma senza successo, non mi permette di modificare il file nella root, mi da 503 error..

  43. avatarEleonora

    Ciao Roberto volevo farti i miei complimenti. Sono una fan di Word Press ( che tra le altre cose conosco molto molto bene) poi lo scorso anno mi hanno convinta ad utilizzare Joomla per una piattaforma e-commerce….non ho mai legato con questo sistema…..mi avevano detto che Magento era ostico….difficilissimo…..e non si trovava nulla….ed invece eccomi qua…prima installazione andata a buon fine…..il primo problema da superare la lingua di default in italiano……ed ecco che trovo il tuo tutorial…..meravigliosamente perfetto. Ho installato il pacchetto e tutto è andato a buon fine. Grazie anche per il tutorial sull’installazione di più lingue (che mi serve……almeno 4)poi ho letto che c’è quello sulle mail che vano aggiornate in italiano…e poi passerò al template…spero di non pentirmi….ma di certo mi piace di più di Joomla. Un saluto Eleonora

  44. avatarRoberto Rubino Autore

    Ciao Markus, si devi creare 2 regole per pagina (in caso di 2 lingue)…. la stessa cosa la potresti fare con l’htaccess, ma andresti comunque anche li a scrivere 2 regole… per recuperare i file indicizzati senza “/it” potresti inserire queste due righe nell’htaccess di Magento (per intenderci quello inserito allo stesso livello della index.php)

    RewriteCond %{REQUEST_URI} !^/(en|it)
    RewriteRule (.*) /it/$1 [R=301,L]

    Il funzionamento di queste 2 righe è il seguente:

    sito.it/pagina.html -> sito.it/it/pagina.html

    Ciao

  45. avatarRoberto Rubino Autore

    Ciao Eleonora, grazie mille per i complimenti

  46. avatarMarkus

    Ciao Roberto,

    ho provato ad inserire il codice nell’htaccess, ma il server mi fornisce too many redirects…

    mi avevi scritto:
    ————————-
    Ciao Markus, si devi creare 2 regole per pagina (in caso di 2 lingue)…. la stessa cosa la potresti fare con l’htaccess, ma andresti comunque anche li a scrivere 2 regole… per recuperare i file indicizzati senza “/it” potresti inserire queste due righe nell’htaccess di Magento (per intenderci quello inserito allo stesso livello della index.php)

    RewriteCond %{REQUEST_URI} !^/(en|it)
    RewriteRule (.*) /it/$1 [R=301,L]

    Il funzionamento di queste 2 righe è il seguente:

    sito.it/pagina.html -> sito.it/it/pagina.html

    Ciao
    ——————————-

    Inoltre mi capita che cliccando sulle url indicizzate da Google che puntano alla url diretta del prodotto del tipo nomedominio.com/en/nome-prodotto.html il sistema mi fornisce error 500 (server internal error).. mentre in realtà se pervengo alla pagina navigando sul sito e partendo dalla categoria, oppure raggiungo la pagina dall’esterno con la categoria nell’url tipo nomedominio.com/en/nome-categoria/nome-prodotto.html la pagina viene raggiunta regolarmente.. Ho attivato il canonical per i prodotti e per le categorie… Le url delle categorie nomedominio.com/en/nome-categoria.html vengono perfettamente raggiunti..

    Ho letto qui e li varie problematiche similari, se hai suggerimenti.. forse dipende dal tipo di installazione o dall’hostin.. deve essere compilato in php fastcgi quando si installa magento?

  47. avatarMarkus

    Ciao Roberto,

    in merito all’errore 500 di internal server error quando si punta direttamente nel browser l’url dei prodotti del tipo nomedominio.com/en/nome-prodotto.html il problema è determinato dal fatto che il file relativo in view.php dei prodotti in tal caso non trova la categoria e quindi fornisce errore. E’ stata quindi inserita una funzione per estrarre la categoria, quindi al momento sembra funzionare.. che sia in ogni caso un bug di magento?

    Poi in merito al tuo suggerimento relativo a recuperare gli errori 404 dai motori di ricerca senza code language del tipo (nomedominio.com/nome-prodotto.html) da reindirizzare alle pagine con code language del tipo (nomedominio.com/en/nome-prodotto.html) ho inserito il codice htaccess:
    RewriteCond %{REQUEST_URI} !^/(en|it)
    RewriteRule (.*) /en/$1 [R=301,L]

    ma accade che il sistema reidiriziona su nomedomino.com/en/index.php fornendo l’errore too many redirect.. hai suggerimenti in merito?

  48. avatarRoberto Rubino Autore

    Ciao Markus,
    per il discorso delle categorie direi di no, non è un bug di Magento ma ipotizzo un errore di programmazione fatto nella personalizzazione del template… viene forse recuperata la categoria corrente con il seguente codice?

    Mage::registry(‘current_category’)

    per il discorso dei redirect in che posizione dell’htaccess hai inserito il codice ? io ho appena fatto un test posizionandolo dopo queste 3 righe

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

    e prima di questa

    RewriteRule .* index.php [L]

    ciao

  49. avatarMarkus

    Ciao Roberto,

    per il problema delle categorie, il sistema non estrapolava correttamente i dati non avendo possibilità di dedurre la categoria, ho effettuato una modifica al codice facendo estrapolare il nome della categoria, ora in ogni caso tutto ok.

    In merito poi al redirect veniva inserito alla riga 157 ############################################
    ## redirect

    Gli altri redirect funzionano correttamente, anche in questo caso ho effettuato uno script all’interno delle pagine del template, nel file head.php per fare reindirizzare quelle pagine in redirect 301.

    In ogni caso grazie

    Markus

  50. avatarSTEFANO

    Ciao,
    innanzi tutto complimenti per gli articoli chiari e precisi.
    Vorrei chiedere un chiarimento: le vetrine consistono sostanzialmente in un diverso modo di visualizzazione oppure possono essere gestite separatamente fra loro?
    In sostanza vorrei sapere se è possibile gestire due vetrine in modo da abilitarne l’accesso solo a gruppi di clienti?
    Io vorrei che i clienti del gruppo A possano vedere alcune categorie di prodotti, mentre quelli del gruppo B vedano solo altri prodotti.
    Si può fare? Grazie in anticipo.
    Stefano

  51. avatarEleonora

    Ciao Roberto, ti avevo scritto un pò di tempo fa perchè stavo installando Magento (open) e avevo bisogno del pannello tradotto in italiano, visto che in inglese non sono fortissima :-)))) Avevo trovato un tuo tutorial ho seguito tutti i passaggi ed è andato a buon fine tutto. Infattir icordo che ti feci i Complimenti per questa guida on line. Ora però dopo aver installato magento, acquistato un template ed averlo installato, dopo avere fatto una serie di configurazioni necessarie che tu di certo conosci benissimo……mi sono imbattuta nella questione del multilingua….ed eccomi qua. Ti spiego: credo di aver fatto tutti i passaggi, ma la cosa strana è che quando cambio lingua mi appare questo url: dietamediterraneaintavola.it/index.php/?___store=en&___from_store=it mi chiedo se è corretto oppure no. Inoltre noto che tutto ciò che è statico è tradotto…forse perchè l’ho inserito due volte (Italiano e Inglese) la parte dei prodotti no. Mi chiedo se c’è da installare qualche altro pacchetto delle lingue per la parte front end da qualche parte, poichè io mi ritrovo solo la cartella in inlgese. Grazie in anticipo per l’aiuto che riuscirai a darmi. Ciao Eleonora

  52. avatarSTEFANO

    Ciao,
    scusa per avere i due differenti alberi di navigazione devo avere due diversi domini o si tratta di una doppia gestione all’interno del mio dominio già esistente?
    Grazie
    Stefano

  53. avatarRoberto Rubino Autore

    @Eleonora

    tranquilla, l’url è corretto. I parametri “___store” e “___from” vengono usati internamente da Magento per effettuare il cambio di vetrina.

    Per quanto riguarda le traduzioni… cosa intendi per “la parte dei prodotti” ? Quali stringhe non sono tradotte ?

    Ciao

  54. avatarEleonora

    Ciao Roberto…grazie per la scorsa volta….mi devi aiutare è importante…..ho completato la piattaforma…quasi…manca qualche immagine ed ho impostato da configurazione la sezione Utilizza Web Server Rewrites su si….ora però succede una cosa strana. La piattaforma al momento è in italiano e inglese ma succede questo: se vai su dietamediterraneaintavola.it e clicchi una qualsiasi categoria dal menu sotto la voce “Prodotti Simply Med” esempio “Olio extra Vergine di oliva” e poi vai su language e scegli inglese funziona tutto correttamente. Se da qui poi rivado su language e scelgo di buovo italiano mi dà un errore. Mi puoi aiutare????? Ti ringrazio sin da subito. Inoltre dovrei far diventare dominio principale non quello attuale ma dietamediterraneashop.it mi puoi aiutare a capire come devo fare? Grazie Eleonora

  55. avatarRoberto Rubino Autore

    Ciao Eleonora, che errore ti da ? Ho provato a visitare dietamediterraneaintavola.it ma non si vede correttamente il template e il sito fa fatica a caricarsi….

    Per il cambio di indirizzo, se hai accesso al database, cerca nella tabella “core_config_data”, le righe con il valore path=’web/unsecure/base_url’ e path=’web/secure/base_url’ e sostituisci li il nuovo indirizzo (non dimenticarti lo “/” finale)

    Dopo aggiorna la cache (per sicurezza puoi anche svuoltare completamente la cartella “var/cache”)

    Ciao

  56. avatarRoberto Rubino Autore

    @Italia

    per i prodotti, ogni qual volta vorrai modificare un contenuto in lingua, dovrai agire sul menu a tendina presente nell’angolo a sinistra della scheda prodotto (nel backend) per spostarti nella vetrina desiderata.

  57. avatarriccardo

    ciao roberto e grazie per l’aiuto che dai.
    volevo farti una domanda di cui, temo, di sospettare la risposta… ; )
    volevo saper come fare a passare da una pagina in una lingua (supponiamo miosito/it/chi-siamo) alla stessa tradotta in un’altra lingua (es miosito/en/about-us).
    devo scrivere una regola di rewrite url per ogni pagina, oppure c’è un metodo più alternativo meno laborioso e complicato?
    grazie e ciao
    riccardo

  58. avatarLuca

    Ciao Roberto,
    ho seguito attentamente le istruzioni, e nella Home mi risulta anche una simpatica bandierina americana per cambiare la lingua.
    Purtroppo però quando ci clicco sopra mi rimanda ad una pagina vuota che mi dice “The page you are looking for cannot be found”.
    Dove sbaglio?
    Grazie
    Luca

  59. avatarRoberto Rubino Autore

    @riccardo:
    con gli strumenti standard di Magento è purtroppo quella l’unica soluzione… anche io in questi giorni sto avendo a che fare con un problema simile e sto cercando di capire se esiste online qualche modulo che permetta di gestire qualche automatismo.. se trovo qualche cosa ti faccio sapere

    Ciao

  60. avatarRoberto Rubino Autore

    @Luca:
    verifica, andando in CMS->PAGE, che la pagina “home” sia assegnata a entrambe le tue vetrine

    Ciao

  61. avatarriccardo

    caio roberto,
    scusa ma vedo solo ora la tua risposta.
    se trovi qualcosa fammelo sapere allora. ovviamente anche il contrario…. ; )
    sto trovando molte info utili sul tuoo blog
    grazie ancora per il tuo lavoro!
    riccardo

  62. avatarAlfredo

    Anche io come altri, mi trovo di default la versione in inglese, nonostante la configurazione italiana in opzioni locali.

    Ti ringrazio,
    Alfredo

  63. avatarErcole

    Volevo chiedere se c’è la possibilità di utilizzare una stessa vetrina “reale” (configurata con la lingua) per più vetrine virtuali dove cambia la valuta. Cioè la vetrina reale in inglese per far apparire la vetrine inglese con la valuta Sterlina, la vetrina usa con la valuta Dollaro (utilizzando la stessa traduzione della vetrina inglese) e così via.

  64. avatarMatteo

    Grazie per i vostri commenti, mi sono stati molto utili.
    A volte un pò di feedbackpoisitivo fa bene :D

  65. avatarRoberto Rubino Autore

    @ercole:
    la valuta la puoi configurare a livello di “Website”, quindi con gli strumenti standard di Magento quello che chiedi si fa con 2 website (uno per valuta) associati ai quali ci saranno 2 vetrine entrambe il Inglese.
    Dovresti quindi cercare un modulo che faccia quello che chiedi… in passato mi era capitato di avere a che fare con questo modulo:

    http://innoexts.com/promotion/currency-pricing/

    Se posso consigliarti, io solitamente preferisco sfruttare a pieno gli strumenti standard di Magento prima di appoggiarmi a moduli aggiuntivi.

    Ciao

  66. avatarluigi

    Installate le lingue, seguita la procedura per ognuna, ottenute le diverse store view, ma nel frontend continua vedersi solo la lingua inglese, la prima lingua installata. Quando cambio la lingua dello store mi appare solo la lista delle categorie su un fondo bianco, praticamente mi scompare tutta l’impostazione del tema. Da cosa può dipendere?

  67. avatarRoberto Rubino Autore

    @luigi

    Prova ad andare in SISTEMA -> GESTIONE NEGOZI e verificare se in quella sezione è stato associato il template solo alla vetrina inglese

    Ciao

  68. avatarManuel

    Ciao ho appena effettuato la modifica, ed è fantastico, ma per i prodotti invece? posso creare delle varianti anche sulle descrizioni prodotto?

  69. avatarRoberto Rubino Autore

    Ciao Manuel,
    mi spieghi meglio cosa dovresti fare sui prodotti ?

    Se è la semplice traduzione, nel backend di Magento devi usare il menu a tendina “Choose Store View:” per spostarti da una vetrina all’altra (nella scheda prodotto)

    Ciao

  70. avatarFrancesco

    Ciao Roberto, avrei bisogno di aiuto.
    Gestisco un e-commerce con Magento in due viste, italiano e inglese. C’è un’opzione per far in modo che chi si collega da paese straniero che non sia l’Italia, visualizzi di default il sito in inglese?
    Grazie mille.

  71. avatarMarco Moltrasi

    Ciao Daniele.

    Se ti riferisci alla traduzione degli attributi testo del prodotto, es. vuoi che il campo “Name” tradotto nello “store1 > inglese” tu possa assegnarlo anche allo “sotre2 > inglese” senza doverlo ritradurre, non è possibile gestirlo in automatico con gli strumenti base di magento.

    Parti dal presupposto che le StoreView create in Store differenti non sono correlate tra loro.
    Per esempio possiamo avere:
    Store1 > italiano
    Store1 > inglese
    Lo store 2 potrebbe essere invece:
    Store2 > Casa
    Store2 > Abbigliamento
    Store2 > Made in Italy

    Per cui non è possibile creare un legame diretto tra la view “inglese” dello store1 e la view “inglese” dello store2 senza un integrazione mirata.
    Anche se nella maggior parte dei casi le storeView vengono utilizzate per gestire ottimamente il multilingua bisogna considerare che questo è solo uno dei possibili utilizzi e che comunque queste rimangono legate solo al relativo Store di appartenenza.

    Non conosco plugin esterni che facciano adeguatamente quello che chiedi, posso dirti che per alcuni clienti ci è capitato di implementare soluzioni personalizzate che partendo da differenti Store consentivano di mappare le loro StoreView e copiare in blocco determinati attributi comuni invece di doverlo fare singolarmente. (es copia valori da Store1 > StoreView1 verso lo Store2 > StoreView1 o viceversa)
    Sono però sviluppi altamente personalizzati dove serve definire prima delle specifiche, in primis quali attributi andranno copiati in blocco e le modalità di sincronizzazione per esempio.

  72. avatarAngela

    Salve, ho due negozi: 1 sito base e 1 con sotto dominio ed URL differente. Ho bisogno che in entrambi l’utente venga reindirizzato automaticamente allo store view (lingua) corretto in base alla lingua del browser. E cosi è attualmente per il sito base ma non per il sotto dominio. Configurazione/web/URL rewrite=si. Ho notato però che creando le store view per il sotto dominio non potevo più utilizzare i codici già usati per il sito base, esempio IT, EN, FR…. Questo può essere un problema? Magento come prevede di proporre le stesse lingue per più negozi? Grazie.

  73. avatarCristiano

    Se io volessi soltanto le descrizioni in inglese per poterle poi esportare in un feed…….c’e’ un modo semplice per tradurle? Graziee