2016-12-15 88 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 
     } 
    } 
}