在Fluid Template和tx_news中,我需要用“\ n”替换换行符以传入JavaScript函数。
如果JavaScript字符串包含换行符,控制台将打印“Unexpected token。”
<a onclick="doSomething('{newsItem.bodytext}');">Click me</a>
如何在此示例中用“\ n”替换换行符?
答案 0 :(得分:2)
您可以编写自己的ViewHelper并像这样使用它:
{namespace ns=Vendor\ExtensionName\ViewHelpers}
<a onclick="doSomething('{newsItem.bodytext -> ns:viewhelperName()}');">Click me</a>
此处有更多信息:Developing a custom ViewHelper
答案 1 :(得分:2)
AS urbantrout已写道:您可以在PHP中编写自己的viewhelper。
但你也可以使用TypoScript-Viewhelper:
<a onclick="doSomething('{newsItem.bodytext -> f:cObject(typoscriptObjectPath: \'lib.nlReplace\')}');">Click me</a>
(因为你是一个字符串,你需要逃避内部&#39;)
和一些TypoScript一样
lib.nlReplace = TEXT
lib.nlReplace {
current = 1
stdWrap.replacement {
1 {
search = #\n#
replace = \\n
useRegExp = 1
}
}
}