2013-02-21 63 views
0

我想在我的web框架中使用KnockoutJS,它使用普通的Smarty。Smarty評論剝離和KnockoutJS

KnockoutJS語法的某些部分以<!-- ko foreach: array -->的形式使用註釋。

Smarty刪除所有HTML註釋(IE條件除外),包括這些。

我可以刪除Smarty中負責的preg_replace行,但我寧願有解決方案,我不必更改第三方代碼。

有什麼辦法可以跳過Smarty中剝離的評論嗎?

回答

0

實際上,Smarty會在模板的最終輸出中顯示所有HTML註釋,如<!-- comment -->。只有Smarty特定評論{* this is a comment *}隱藏在最終輸出中。您的框架可能會隱藏後端的HTML註釋,可能是爲了進行HTML壓縮。

參考Smarty Comment Syntax

+0

您可能使用的是舊版本。當前版本(3.1.13和幾個版本)有一個名爲'outputfilter.trimwhitespace.php'的插件,它包含一行'$ source = preg_replace('# #ms','',$ source);' ,它做評論剝離。據我所知,過濾器不能被禁用或刪除,而不改變代碼或刪除文件。 – Martijn 2013-04-20 06:14:32

+0

我很抱歉。我對這個新插件一無所知。 – 2013-04-20 19:04:51

+0

Martijn不正確,outputfilter.trimwhitespace.php未啓用OOTB。它必須在PHP代碼中顯式啓用。你可能無法啓用它。 – mohrt 2015-08-27 16:33:36