2016-12-15 4 views
0

В Fluid Template и tx_news мне нужно заменить разрывы строк на «\ n» для перехода в функцию JavaScript.Заменить разрыв строки

Если строка JavaScript содержит разрыв строки, консоль напечатает «Неожиданный токен».

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

Как вы можете заменить разрывы строк на «\ n» в этом примере?

ответ

2

Вы можете написать свой собственный ViewHelper и использовать его как это:

{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 уже писал: Вы можете написать собственный ViewHelper в PHP.

Но вы можете также использовать TypoScript-ViewHelper:

<a onclick="doSomething('{newsItem.bodytext -> f:cObject(typoscriptObjectPath: \'lib.nlReplace\')}');">Click me</a> 

(как вы находитесь в строке вам нужно, чтобы избежать внутреннего «)
и некоторые TypoScript как

lib.nlReplace = TEXT 
lib.nlReplace { 
    current = 1 
    stdWrap.replacement { 
     1 { 
      search = #\n# 
      replace = \\n 
      useRegExp = 1 
     } 
    } 
}