2016-12-15 143 views
0

在Fluid Template和tx_news中,我需要用「\ n」替換換行符以傳入JavaScript函數。替換換行符

如果JavaScript字符串包含換行符,則控制檯將打印「意外標記」。

<a onclick="doSomething('{newsItem.bodytext}');">Click me</a> 

如何在本例中用「\ n」代替換行符?

回答

2

你可以寫你自己的視圖助手和使用它像這樣:

{namespace ns=Vendor\ExtensionName\ViewHelpers} 

<a onclick="doSomething('{newsItem.bodytext -> ns:viewhelperName()}');">Click me</a> 

更多的相關信息在這裏:Developing a custom ViewHelper

+1

這裏是一個較舊的教程http://stackoverflow.com/a/20503976/160968 – Urs

1

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 
     } 
    } 
}