2016-03-22 67 views
-1

在typo3流框架中,我在Index.html中生成了一些javascript變量。Typo3流 - 渲染部分到javascript

現在我想從一個局部變量的一些HTML。這是呼叫:

channels[{i.index}].card = ' <f:render partial="Channel/Item" arguments="{channel:channel}"/> '; 

部分的內容是沒有什麼特別的:

<div class="col-md-1"> 
    test 
</div> 

但是因爲TYPO3流的每一行後產生的換行符這會產生一個JavaScript錯誤。 Chrome瀏覽器會報告「語法錯誤:意外的標記非法」

channels[0].card = ' 
<div class="col-md-1"> 
test 
</div> 


'; 

的意外的標記是第一個斷行後的第一個',我想。 如果我在一行中寫入部分,則javascript變量是正確的。但我不想在一行中寫出所有的HTML。

我該如何判斷javascript是否有換行符?或者告訴流程,它應該在一行中呈現部分?

回答

0

這對於JS中的多行值是正常的,只是使用一些驗證JS創建test.js文件的IDE,它會向您顯示錯誤。

你有兩個簡單的解決方案:

刪除您的部分所有換行符所以你的代碼看起來像(末尾沒有空行!):

<div class="col-md-1">test</div> 

或結束回到各行-slash:

<div class="col-md-1"> \ 
    test \ 
</div> \ 
\ 
\ 

先進的解決方案是編寫自定義視圖助手將修剪的代碼,並更換符合反斜槓打破或全部(刪除換行符不requi紅色爲正確的格式)如果您知道如何創建自定義ViewHelpers和/或您的偏好是相當大的,並且您希望/需要保留換行符以便於使用該文件,則此選項是有意義的。