Realizzazione Template MODX #12 Multilingua

Scritto da Microcipcip il 19/10/2010, 9. Categoria: MODX CMS

Dopo due mesi di pausa, ecco un nuovo entusiasmante tutorial su MODx Evolution!

Oggi andremo a vedere come realizzare un sito multilingua italiano - inglese. 

Introduzione su come creare un sito multilingua

Per MODx Evolution esistono diversi extras/plugin che permettono di gestire siti multilingua. Il più famoso tra questi è sicuramente YAMS (Yet Another Multilingual Solution), il quale consente il multilingua tramite l'utilizzo di TVs. In questo articolo andremo però ad utilizzare un metodo molto più semplice adatto per siti di dimensioni medio piccole.

A fine tutorial otterremo un sito con link di questo tipo (ottimo sistema, a mio avviso, per il SEO):
www.nomesito.com/it/nomepagina.html
www.nomesito.com/en/nomepagina.html

 Introduzione su come creare un sito multilingua - 2 

Ecco i passi che andremo a seguire per trasformare il nostro sito da mono a multilingua:
- Creare la Risorsa "it" nella root del sito
- Spostare tutte le Risorse dentro "it"
- Duplicare "it" (e con esso tutte le sottocartelle) e rinominarlo "en"
- Creare ed inserire dentro le Risorse "it" ed "en" uno Snippet di reindirizzamento pagina
- Inserire le bandierine per cambiare la lingua nel Template
- Duplicare e tradurre i Template ed i Chunks, sistemare gli ID di Wayfinder e Ditto

1. Creare la Risorsa "it" ed "en"

Creiamo la Risorsa "it" nella root e spostiamo tutte le Risorse del sito al suo interno, come mostrato nell'immagine:Multilingua

Ora duplichiamo la Risorsa "it" e rinominiamola "en" (url alias compreso):Multilingua

2. Creare lo Snippet Redirect

Andiamo su Elements > Manage Elements > Snippets > New Snippet ed inseriamo il seguente codice:

Snippet name: Redirect
Description: Redirect from first page
Snippet Code (php):

<?php
$url = $modx->makeUrl($id);
ob_end_clean(); // this will end the output buffer and discard silently what ever was in it
header('Location: '.$url);
?>

3. Inserire la Snippet Call dentro le Risorse "it" ed "en"

Ora che lo Snippet è stato creato, apriamo la Risorsa "it" ed inseriamo, su Resource Content, la seguente Snippet Call:

[[Redirect?id=`1`]]
 // Il valore 1 corrisponde all'ID della Risorsa Home Page in italiano

Ora clicchiamo sul tab "Settings" e deselezioniamo "cacheable" e salviamo.
Apriamo la Risorsa "en" ed inseriamo, su Resource Content, la seguente Snippet Call:

[[Redirect?id=`21`]]
 // Il valore 21 corrisponde all'ID della Risorsa Home Page in inglese

Ora clicchiamo sul tab "Settings" e deselezioniamo "cacheable" e salviamo.

4. Inserire le bandierine per cambiare la lingua nel Template

inserire nel Template delle bandierine per cambiare la lingua è semplicissimo, basta inserire un div simile al seguente:

<div class="language">
    <a href="[~1~]"><img src="url-img-lingua-italiano.jpg" alt="#" /></a>
    <a href="[~21~]"><img src="url-img-lingua-inglese.jpg" alt="#" /></a>
</div>

5. Duplicare e tradurre Template, Chunks e sistemare Wayfinder e Ditto

L'ultima parte del tutorial consiste nel Duplicare e tradurre i Template ed i Chunks, che poi andranno assegnati alle Risorse del ramo "en". Anche le Snippet Call di Wayfinder e Ditto che generano i menu orizzontali e verticali andranno cambiati a seconda delle proprie esigenze. Non sto qui a mostrarvi i passaggi da fare, se avete seguito i miei tutorial precedenti non dovrebbe esserci niente di difficile.

6. Riepilogo

In questo articolo abbiamo visto, a grandi linee, come creare un sito multilingua di dimensioni medio piccole.

Nel prossimo articolo andremo a creare una Galleria fotografica con lightbox con supporto per il ridimensionamento ed il taglio delle immagini. A presto!

Inserisci un commento

Devi inserire un commento con del codice?
Leggi prima questa guida!
#

Fra_nce2000

il 12/01/2011, alle ore 20:57:20
Complimenti!! Davvero complimenti!!! Una domanda: ma il tutorial per lo slideshow pensi di scriverlo presto?? Anche la gestione di un modulo newsletter potrebbe essere molto interessante!Grazie e a presto!!!
Francesco
#
il 12/01/2011, alle ore 20:58:11
Ciao, grazie mille.
Se riesco preparo il tutorial per la galleria con il lightbox per questa settimana.
Per la newsletter ti consiglio di provare txnewsletters, è molto facile da installare e configurare. Un tutorial anche su quello potrebbe starci, se ho tempo provo a farlo ;)
#

Cristian

il 23/09/2011, alle ore 15:49:28
Ciao hai notizie del tutorial di txnewsletters? Non riesco trovare informazioni su come le newsletter multilingua e come fare la pagina di iscrizione puoi aiutarmi?
Grazie mille questo sito è utilissimo 10+.
#
il 23/09/2011, alle ore 16:19:23
Ciao Cristian,

Purtroppo non ho tempo al momento per scrivere un tutorial su TXNewsletter. Tempo fa ho installato il modulo per provarlo, e ho notato quasi subito l'impossibilità di configurarlo per funzionare su siti multilingua. Ho cercato anche nel forum di MODX ma non ho trovato alcuna notizia al riguardo, le persone che chiedevano come ottenere questa funzionalità non hanno mai ricevuto risposta.

Riguardo alla pagina di iscrizione, dovrebbe essere semplice da configurare. Hai collegato il modulo con lo Snippet e viceversa? Hai generato il database e modificato gli ID per inserire il modulo di iscrizione?
#
il 27/09/2011, alle ore 14:47:06
Sto giocando un po con questo fantastico CMS ma ho trovato un attimo di difficoltà in questo tutorial. Ho le due risorse it ed en e poi tutti i contenuti "duplicati" ho associato ad ogni lingua un suo template, i suoi chunk, snippet ecc (seguendo i tutorial fino al numero 8-9 ho solo duplicato quello che hai creato tu e rinominati poi in _it ed _en finale dove serviva). Non so se sia la strada giusta, il sito funziona, è multilingua ma non ottengo www.miosito.com/it/pagina.html e www.miosito.com/en/pagina.html, sbaglio io qualche dettalio?
Grazie per questi tutorial, non conoscevo MODX e sembra promettere bene
#
il 27/09/2011, alle ore 15:52:23
Ciao Simone,

Non riesco a capire qual'è il tuo problema, dovresti dirmi come hai strutturato il sito e come sono i tuoi url attuali. L'ideale sarebbe mostrarmi qualche screenshot (puoi usare questo servizio http://imageshack.us/).
#

Simone

il 28/09/2011, alle ore 08:16:49
Non so se sia un problema, volevo sapere se è corretto il procedimento o se ho duplicato cose che non dovevo... E poi non ottengo www.miosito.com/it/pagina.html e www.miosito.com/en/pagina.html e mi farebbe comodo visto che dovrò anche creare una versione mobile dello stesso sito (quindi penso si possa utilizzare un sistema simile)

http://www.zukimania.org/MODX/template.jpg
http://www.zukimania.org/MODX/chunk.jpg
http://www.zukimania.org/MODX/1.jpg
http://www.zukimania.org/MODX/1en.jpg
http://www.zukimania.org/MODX/1it.jpg
#
il 28/09/2011, alle ore 10:49:24
Ciao Simone,

Grazie per gli screenshot, però la parte che mi interessava di più era vedere com'erano gli url del sito, dagli screenshot non riesco a capirlo.

La struttura è giusta, il reindirizzamento degli Snippet pure. Se gli url non escono come indicato nel tutorial allora penso che tu non abbia abilitato i Friendly URL dal manager. Prova ad andare su "Tools > Configuration > Friendly Urls" e poi seleziona "Yes" in tutti i campi (vedi screenshot: http://goo.gl/W37LT), dopodichè assicurati che il file .htaccess sia configurato correttamente (vedi screenshot: http://goo.gl/sg9fX).

Per ulteriori informazioni sui Friendly URL leggiti questo articolo (http://goo.gl/8XUW8)
#
il 28/09/2011, alle ore 20:40:38
scusami, ecco qui i link
127.0.0.1/xampp/modx/index.php?id=52 sito italiano pagina servizi
127.0.0.1/xampp/modx/index.php?id=90 sito inglese pagina services

Riguardo i Friendly URL quindi non basta attivarli nei settaggi ma va anche modificato il file .htaccess, forse era quello il problema, ti ringrazio per l'aiuto