We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37123
    • 186 Posts
    Ciao a tutti, scusate la domanda, ho provato a cercare su google e qui sul forum ma non ho trovato risposta. O è troppo stupida la mia domanda o non si puo fare..

    Ho una TV gestita con MIGX (quindi mi torna del JSON) che vorrei e dovrei usare in un file javascript esterno per la gestione di google maps (è un semplice array contente Descrizione, Immagine, Coordinate GPS).
    Solamente che non ho capito come posso usare questo array nel file mio_file.js, l'unica soluzione "intelligente" che ho pensato è salvare l'array come data-attr="" nel mio genitore ma penso che si possa fare di meglio.

    Assumiamo per semplicità che la via TV mi ritorni una stringa anche, penso che il problema sia sempre lo stesso no?

    Se è una domanda stupida vi prego insultatemi, proprio non mi viene in mente!

    Grazie!
      • 36613
      • 328 Posts
      Ciao, non so se sia la risposta corretta e non so se funziona ma io intanto provarei così:
      <script type="text/javascript">
      var employees = [[*variabileTV]]
      </script>
      


      dove [[*variabileTV]] dovrebbe essere na roba nel genere penso:
      [
      { "firstName":"John" , "lastName":"Doe" },
      { "firstName":"Anna" , "lastName":"Smith" },
      { "firstName":"Peter" , "lastName": "Jones" }
      ]
      


      Però penso che comunque la variabile template non sia letta dal javascript visto che le "[[" "]]" vengono lette in modo sbagliato. Comque ho trovato queste due discussioni che fanno al caso tuo:
      http://forums.modx.com/index.php?topic=63974.0
      http://forums.modx.com/thread/18515/use-placeholders-in-javascript-code-google-maps
        • 37123
        • 186 Posts
        Quello era il primo sistema che ho utilizzato ed effettivamente JS mi dava errore come dici tu, adesso do un occhiata ai link che mi hai proposto.

        Ho trovato una soluzione "tampone" per il momento ma ho un problema correlato,
        [
        { "firstName":"John" , "lastName":"Doe" },
        { "firstName":"Anna" , "lastName":"Smith" },
        { "firstName":"Peter" , "lastName": "Jones" }
        ]

        Sai se c'è un modo per sostituire i doppi apici con i singoli? In questo modo avrei risolto gran parte dei problemi che mi sono avanzati...

        Grazie
        • Ciao! perdona la mia domanda ma non ho ben capito in che contesto si trova questo javascript.
          per utilizzare le caratteristiche implementative di modx il javascript dovrebbe trovarsi dentro un chunk! in questo modo puoi costruirlo seguendo le tue esigenze. tramite uno snippet prelevi e organizzi la struttura del tuo js chr viene in seguito caricato dal tuo snippet. io utilizzo questa metodologia per prelevare informazioni e applicare il javascript secondo tali valori. da quello che mi pare di capire tu invece hai un js esterno a cui vuoi integrare i codici di modx. ma questo non è possibile. un'altra alternativa che mi viene in mente è di creare il file javascript come risorsa di modx. con i giusti settaggi(template empty e resource type=javascript) puoi gestire un file js come risorsa di modx. in questo modo puoi costruire file utilizzando tutte le caratteristiche del sistema!
            Francesco Mussoni | MODX Ambassador | Skype: solidusite2 | Email: [email protected]
            • 37123
            • 186 Posts
            Cavolo hai ragione!! Bene, hai il permesso di insultarmi, anzi hai il dovere di insultarmi...

            Si il file js è esterno ma effettivamente posso integrarlo. Secondo te qual'è la strada migliore? Un chunk o una risorsa?


            Grazie!
            • Ahah non sia mai che mi sbaglio pure io laugh
              Ad ogni modo come al solito Modx ti permette di utilizzare diverse strategie. Non so dirti con precisione qual'è la soluzione migliore per il tuo caso poiché dovrei conoscere come hai strutturato le componenti del tuo sito.

              Ti posso però fare due esempi di utilizzo di entrambi i casi:

              Risorsa come Javascript/Css
              Se ad esempio dobbiamo sviluppare un sito nel quale è possibile cambiare il colore delle varie componenti potremmo pensare al nostro foglio di stile come una risorsa di Modx. In questo modo possiamo utilizzare ogni diavoleria possibile. Inserire TV, system settings, lexicon ecc e sviluppare un unico foglio Css dinamico e altamente personalizzabile.

              Snippet/Chunk
              Se si devono inserire porzioni di codice js/css all'interno delle pagine, magari in relazione al contenuto da visualizzare, è comodo utilizzare gli snippet con il quale controlli lo stato delle variabili interessate e carichi le sorgenti e/o i relativi chunk in relazione ad esse. Prendiamo come esempio una pagina dove, se presente, viene mostrata una bellissima fotogallery in jquery che solo lei richiede 5 file javascript di cui 1 da personalizzare (e registrato in un chunk). Tramite uno snippet potrei decidere innanzitutto di inserire le sorgenti solamente nel caso in cui la fotogallery sia presente, riducendo il caricamento nel caso in cui la fotogallery non sia presente (caricamento dinamico). sempre grazie a questo snippet possiamo, ad esempio, passare le nostre variabili ad un chunk, caricarlo, e infine posizionarlo nel template (nell'head o prima del tag </body>) grazie alle funzioni specializzate di modx.

              Quindi in base alle personalizzazioni necessarie e all'utilizzo che devi farne può cambiare la strategia.

              Il tuo caso, mi pare di aver capito, riguarda la personalizzazione di un codice Javascript. Posso immaginare sia un codice di inizializzazione per un servizio o una funzione che in genere è composto da poche righe.
              Secondo me spostando tale codice in un chunk e caricandolo all'interno di uno snippet (magari correlato) può essere la strada migliore.

              Ah dimenticavo, se ti risulta scomodo gestire un javascript tramite un chunk nel manager di modx (e non magari come file.js nel tuo IDE) ricorda che puoi sempre renderlo statico.

              Ti saluto con un link molto interessante:
              http://rtfm.modx.com/revolution/2.x/developing-in-modx/basic-development/snippets/adding-css-and-js-to-your-pages-through-snippets



                Francesco Mussoni | MODX Ambassador | Skype: solidusite2 | Email: [email protected]
                • 37123
                • 186 Posts
                Cavolo come ho detto qualche tempo fa ho ancora molto da imparare su MODx, tutte queste informazioni mi hanno confuso, quindi mi è nata un altra domanda.

                Mettiamo che io inserisca in un chunk tutto il mio js (che mi gestisce una google maps, quindi creo i segnaposto, inserisco le coordinate, creo l'istanza della mappa e poco altro, si e no 30 righe) e poi richiami questo chunk in un template (sarebbe come fare <script type="bla bla" src="nomefile.js"></script>) ma avrei a disposizione tutte le funzioni di modx quindi anche le TV.
                Cosa mi serve utilizzare uno snippet? (nello snippet ci va codice php giusto?) Hai parlato di snippet solo per completare il tuo esempio?

                Di nuovo grazie, domani mi ci dedicherò un po e vi farò sapere.
                • lo snippet ti può servire nel momento in cui devi eseguire determinate funzioni per calcolare, ad esempio, i valori da passare successivamente al javascript contenuto nel chunk. se non hai questa necessità puoi tranquillamente fare come hai appena detto: inserisci il chunk direttamente nel template.
                    Francesco Mussoni | MODX Ambassador | Skype: solidusite2 | Email: [email protected]
                    • 37123
                    • 186 Posts
                    Come previsto funziona a dovere (ho usato un chunk), avevo comunque risolto con un accrocchio in jquery ma non era molto "solido".
                    Ti ringrazio per l'aiuto, a volte la soluzione è dietro l'angolo e non siamo capaci di vederla.

                    ciao