在Fluid Template和tx_news中,我需要用「\ n」替換換行符以傳入JavaScript函數。替換換行符
如果JavaScript字符串包含換行符,則控制檯將打印「意外標記」。
<a onclick="doSomething('{newsItem.bodytext}');">Click me</a>
如何在本例中用「\ n」代替換行符?
在Fluid Template和tx_news中,我需要用「\ n」替換換行符以傳入JavaScript函數。替換換行符
如果JavaScript字符串包含換行符,則控制檯將打印「意外標記」。
<a onclick="doSomething('{newsItem.bodytext}');">Click me</a>
如何在本例中用「\ n」代替換行符?
你可以寫你自己的視圖助手和使用它像這樣:
{namespace ns=Vendor\ExtensionName\ViewHelpers}
<a onclick="doSomething('{newsItem.bodytext -> ns:viewhelperName()}');">Click me</a>
更多的相關信息在這裏:Developing a custom ViewHelper
AS urbantrout已經寫道:你可以用PHP編寫一個自己的視圖助手。
但你也可以使用的TypoScript-視圖助手:
<a onclick="doSomething('{newsItem.bodytext -> f:cObject(typoscriptObjectPath: \'lib.nlReplace\')}');">Click me</a>
(因爲你是在一個字符串,你需要躲避內「)
和一些Typo腳本像
lib.nlReplace = TEXT
lib.nlReplace {
current = 1
stdWrap.replacement {
1 {
search = #\n#
replace = \\n
useRegExp = 1
}
}
}
這裏是一個較舊的教程http://stackoverflow.com/a/20503976/160968 – Urs