Back to top

Autore Topic: [RISOLTO] Gestione Pagine di Errore 404 in un multilingua  (Letto 8396 volte)

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Ciao a tutti,


come potrei fare per gestire il reindirizzamento automatico alla pagina di errore nei siti multilingua?
Esempio: supponiamo un sito in italiano ed in inglese. Mi creo con la gestione nativa di joomla o con k2 due articoli localizzati nelle rispettive lingue che contengono i messaggi "Error 404, .....".
Come si può fare che se l'errore avviene nel sito in inglese allora mi va in automatico nella pagina di errore in inglese e viceversa per l'italiano?
Spero di esservi stato chiaro.


Grazie in anticipo
« Ultima modifica: 18 Nov 2016, 17:54:54 da abombazza »

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #1 il: 17 Nov 2016, 12:38:57 »
Ciao abombazza,
bella domanda  :)

Che tecnica hai eseguito per far apparire un contenuto di Joomla come pagina di errore 404 ?

Quel contenuto puoi associarlo poi ad un altro contenuto della lingua differente, ed il modulo della lingua poi dovrebbe portare l'utente al contenuto nella sua lingua.

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #2 il: 17 Nov 2016, 17:45:09 »
ciao Alex,


ho usato questa guida: http://www.html.it/articoli/gestione-dellerrore-404-in-joomla/


un po' spartana ma il problema è che non mi funziona lato inglese.
Hai qualche altro metodo alternativo da suggerirmi per la gestione e il reindirizzamento a pagine di errore 404 in un multilingua?

Offline alexred

  • Fuori controllo
  • *
  • Post: 25672
  • Sesso: Maschio
  • Esperto in ozio relaxed
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #3 il: 17 Nov 2016, 17:49:01 »
volendo puoi anche duplicare il template e associarne uno per lingua ed in ogni template quindi indichi il link alla tua pagina di errore.
Ma non saprei se ne vale proprio la pena tutto questo trambusto per avere quella pagina multilingua :)

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #4 il: 17 Nov 2016, 17:50:59 »
Ok ma a parte la duplica del template che la escluderei, tu faresti una pagina di errore unica per tutte le lingue?

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #5 il: 17 Nov 2016, 18:46:43 »
Ho risolto [manualmente] in questo modo:
1) fare un articolo settato su "tutte" le lingue con all'interno una {loadposition error404}
2) collegare questo articolo ad una voce di un menù nascosto anch'essa settata su "tutte" le lingue dandogli ad esempio l'alias "error-404-page-not-found" (su meta info mettere no-index e no-follow)
3) fare n-moduli, per le varie lingue esistenti del sito con all'interno il testo personalizzato nella propria lingua; associare al modulo la lingua appropriata e quindi metterlo nella posizione "error404".
4) copiare dalla cartella template/system il file error.php e portalo anche nel proprio template
5) aprire il file e subito dopo l'istruzione defined('_JEXEC') or die;   incollare il seguente codice





$sef='';
if ($this->language == "en-gb")

{
//lingua inglese en-gb
$sef = "en";
$urldausare=$this->baseurl . '/'. $sef;
echo $urldausare;

}
else
{
   // italiano e/o lingua di base
   $urldausare=$this->baseurl;
   echo $urldausare;
}
if ($this->error->getCode() == 404) { header('Location:'.$urldausare.'/error-404-page-not-found'); exit; }




Praticamente sulla base della lingua con cui stai navigando il sito, in caso di errori di reindirizza alla pagina di errore con il testo corretto rimanendo anche con la lingua con cui si è iniziato a navigare il sito.
Spero di essere stato chiaro.
Certo, c'è sicuramente chi lo fa meglio di così...ma certe estensioni macchinose e anche a pagamento vorrei evitarle.

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #6 il: 17 Nov 2016, 20:41:17 »
Col loadposition in un articolo, lingue tutte, può essere semplice, senza modificare o aggiungere codice nel template, inserire tanti richiami a tanti moduli 404 per quante linguaggi servono. Poi ogni modulo verrà associato ad una sola lingua, così che in pratica pur richiamando col loadposition n moduli verrà visualizzato solo quello della lingua corrente.


Lo stesso sistema a volte lo utilizzo coi menù, un solo menù tutte, tante voci insieme per lingye diverse ma vengono visualizzate solo quelle della lingua attiva.


Prova.

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #7 il: 18 Nov 2016, 11:53:34 »
Ciao, non ho capito bene cosa consigli più semplicemente di fare.
Ma, supponiamo di essere nella sezione francese e nella url digito un qualcosa di insistente per quel dominio...mi reindirizza alla pagina 404 di errore in francese ?

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #8 il: 18 Nov 2016, 17:22:25 »
Prendendo spunto dal tuo metodo con l'articolo e i moduli caricati col load position ho suggerito di inserirci insieme tutti i moduli contenenti le indicazioni 404 per ogni lingua. Se al 404 si viene rediretti all'articolo, se sei sulla lingua fr si vedrà solo il modulo asdociato alla lingua fr.

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #9 il: 18 Nov 2016, 17:37:42 »
ok però utilizzando il redirect fatto sul file error.php, giusto?

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Gestione Pagine di Errore 404 in un multilingua
« Risposta #10 il: 18 Nov 2016, 17:43:19 »
Sì credo di sì


Offline LucaItaliano

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #11 il: 09 Ago 2017, 10:58:21 »

Ciao abombazza,
grazie per aver spiegato come creare le pagine Errore 404 per un sito in multilingua.
Ho seguito le indicazioni, ma sicuramente ho commesso alcuni errori.


Mi sai indicare come risolvere il problema (allego immagine)?


N.B.
ho anche una parte in Virtuemart, ci sono ulteriori modifiche da apportare.


Link sito: http://www.badacarrelli.com/


Grazie


Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #12 il: 09 Ago 2017, 15:58:11 »
Mi pare che funziona ma ti visualizza solo il titolo dell'articolo e/o del modulo ma non del contenuto....la prova che funziona è che in qualsiasi lingua se metto una url fasulla, mi rimanda alla url "/error-page-not-found".


Forse qualche impostazione che non ti visualizza il contenuto di quell'articolo?



Offline LucaItaliano

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #13 il: 09 Ago 2017, 16:07:54 »

Ciao abombazza,
grazie anche della velocità nella risposta.


Ma a tuo parere, il codice della pagina error.php l’ho adattato correttamente?


Di impostazioni che possano impedire la visualizzazione non ho la più pallida idea,
le cose che ho modificato sono visibili nell’immagine.


Se hai qualche consiglio …


grazie
LucaItaliano

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #14 il: 09 Ago 2017, 16:22:37 »
credo che il file error.php sia corretto...
se rinomini il file scommetto che la pagina error-page-not-found non ti funzioni più (anche se ora non ti si visualizza correttamente)...questo dimostrerebbe che hai fatto tutto bene.
L'articolo joomla appartiene ad una categoria...guarda le impostazioni della categoria e vedi se è impostato tutto su MOSTRA (se non lo è, fallo).

Offline LucaItaliano

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #15 il: 09 Ago 2017, 16:28:26 »
Si,
effettivamente non funziona più.

 
Cosa può essere?

 
Grazie
LucaItaliano

Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #16 il: 09 Ago 2017, 16:34:50 »
allora è qualcosa a livello di visualizzazione dell'articolo.
nelle opzioni dell'articolo stesso o della sua categoria metti su MOSTRA su tutte le opzioni così vedi come cambia.Nel modulo non credo vada fatto niente

Offline LucaItaliano

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #17 il: 10 Ago 2017, 08:56:29 »

Ciao abombazza,
ti ringrazio sempre dell’aiuto.
Ho attivato come mi hai indicato tutto quello che potevo (immagine allegata),
ma il risultato non cambia.


N.B. la pagina non ha categoria.




Mi sa che devo accontentarmi del risultato che ho.


Cosa ne pensi?


Grazie ancora


Offline abombazza

  • Appassionato
  • ***
  • Post: 493
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #18 il: 10 Ago 2017, 16:33:38 »
Ciao, intanto tu a differenza mia usi gli articoli di joomla e io quando feci la cosa usavo k2...non dovrebbe cambiar nulla però va puntualizzato.
Inoltre io non uso il suffisso lingua per quella predefinita (l'italiano).
Per cui tu nel ramo else del file error.php devi cambiare così:

else
{
   // italiano e/o lingua di base
$sef = "it";
$urldausare=$this->baseurl . '/'. $sef;
echo $urldausare;
}


se mi invii via messaggio provato i link alla pagina admin posso guardarci se non è troppo tardi perchè da stasera non ci sono per un po' di giorni.


Offline LucaItaliano

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:[RISOLTO] Gestione Pagine di Errore 404 in un multilingua
« Risposta #19 il: 28 Ago 2017, 09:37:30 »

Ciao abombazza,
grazie per l’aiuto.


Ho eseguito la modifica ma non si è sistemato.
Ho provato a togliere l’ultima parte, che tu non mi avevi detto di inserire, ma il risultato è il medesimo.


if ($this->error->getCode() == 404) {
header('Location:'.$urldausare.'/error-404-page-not-found'); exit; }


Dovrò lasciarlo cosi, probabilmente.


Grazie
Luca


 



Web Design Bolzano Kreatif