Comment puis-je définir un objet javascript typoscript

voix
0

Je veux créer un objet javascript dynamiquement typoscript et le remplir avec des constantes TypoScript. Je l'ai fait comme ça et ça fonctionne parce que je n'utiliser des accolades dans ma partie js. (Uniquement pour les constantes)

page {
    jsInline {
        10 = TEXT
        10.stdWrap.dataWrap (
            var  data = new Object;
            data['name'] = '{$plugin.tx_example.settings.config.name}';
            data['value'] = '{$plugin.tx_example.settings.config.value}';
        )
    }
}

Mais je veux écrire des objets JS avec des accolades. Est-il possible d'utiliser un objet javascript comme tout le monde est utilisé pour le faire? ou est-il une meilleure solution pour cela?

page {
    jsInline {
        10 = TEXT
        10.stdWrap.dataWrap (
           var data = {
              name: '{$plugin.tx_example.settings.config.name}',
              value: '{$plugin.tx_example.settings.config.value}'
           } 
        )
    }
}

Merci à tout le monde.

Créé 18/12/2018 à 11:12
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

vous devez être prudent sur les accolades. si ces entretoises se produisent en tant que premier caractère d'une ligne TYPO3 tente d'interpréter cela comme typoscript.

Évitez les accolades au début des lignes.


Astuce: les
commentaires pourraient être problématiques aussi. en particulier multi-lignes ( /* ... */) comme TYPO3 ferme ce genre de commentaire (TYPO3 il commence par une /*à la ligne commençant) que sur une ligne commençant par*/


Dans votre exemple, la solution serait de déplacer l'accolade de fermeture du javascript « données » à la fin de la « valeur: » ligne

Créé 18/12/2018 à 11:37
source utilisateur

voix
0

Utilisez ceci:

page {
    jsInline {
        10 = TEXT
        10.value (
           var data = {
              name: '{$plugin.tx_example.settings.config.name}',
              value: '{$plugin.tx_example.settings.config.value}'
           } 
        )
    }
}
Créé 18/12/2018 à 11:32
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more