Как я могу определить объект JavaScript в Typoscript - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу динамически создавать объект javascript в typoscript и заполнять его константами typoscript.Я сделал это так, и это работает, потому что я не использую скобки в моей части JS.(только для констант)

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}';
        )
    }
}

Но я хочу написать JS Objects с фигурными скобками.Есть ли способ использовать объект javascript, как это делают все?или есть лучшее решение для этого?

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

Спасибо всем.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Вы должны быть осторожны с брекетами.если эти скобки появляются как первый символ в строке, TYPO3 пытается интерпретировать это как опечатку.

Избегайте скобок в начале строк.


Подсказка:
комментарии могут быть проблематичнымитакже.особенно многострочные комментарии (/* ... */), поскольку TYPO3 закрывает этот вид комментариев (TYPO3 начинает его с /* в начале строки) только в строке, начинающейся с */


InВ вашем примере решением было бы переместить закрывающую скобку javascript 'data' в конец строки 'value:'

0 голосов
/ 18 декабря 2018

Используйте это:

page {
    jsInline {
        10 = TEXT
        10.value (
           var data = {
              name: '{$plugin.tx_example.settings.config.name}',
              value: '{$plugin.tx_example.settings.config.value}'
           } 
        )
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...