We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 24222
    • 63 Posts
    Ciao a tutti,
    sto realizzando un procedura per la gestione di un sito multilingua. Le intenzioni sono queste:
    - creazione di una TV associata al template in cui viene memorizzata la lingua della pagina
    - snippet di controllo (es. setPageLang) chiamato in cima al template che esegue:
    1. recupero della TV con getTemplateVariable
    2. inclusione condizionale di un file contenente le stringhe per la lingua della pagina

    Il problema che ho incontrato è questo:
    inserendo con l’include condizionale il file con le stringhe di testo (es. assets/templates/mytemplate/languages/ita/ita.php) nel codice dello snippet "sembra" (dico sembra perchè non vorrei aver sbagliato qualcosa io) che all’esterno di esso le variabili incluse non siano visibili.

    Ho risolto la cosa richiamando lo snippet setPageLang - con $modx->runSnippet(’setPageLang’) - all’interno degli altri snippet che hanno bisogno di visualizzare il contenuto delle stringhe presenti nel file .../ita.php ma mi sembra un pochetto ridondante shocked

    Ogni snippet si comporta quindi come una funzione / metodo?
    Le variabili dichiarate in esso sono visibili solo al suo interno?
    Come fare a dichiarare variabili globali visibili nell’ambito di pagina da tutti gli snippet?

    Grazie.
    Ciao.
      • 24222
      • 63 Posts
      ... ho aggiunto un altro snippet per gestire il menu.

      La soluzione prevede di inglobare lo snippet DropMenu in un altro snippet (da posizionare nel template al posto di DropMenu) che in base alla lingua della pagina esegue runSnippet(DropMenu) passandogli tra i parametri la corretta "start page".

      Per il momento sembra ok... rolleyes