2017-06-22 116 views
0

試圖實現無限滾動,用php,smarty和jquery ajax。正如我理解的最佳方式,而不是加載服務器很多是獲得響應作爲JSON格式的數據,並做客戶端的所有過程。事情是,我想通過聰明的功能。 只是一段代碼,供各位的意見,瞭解我的意思:是否可以將smarty函數傳遞給json html輸出?

$.each(data.content, function(key, value){ 
if(value.comment !=''){ 

//When it comes to date, smarty is working and is implementing date_format 
html += '<div class="timeline-date"><i class="fa fa-calendar"></i> 
{'+value.date+'|date_format:"%B %d, %Y %I:%M %p"}</div>'; 
html += '</div>'; 

//But when it comes to comment itself, smarty functions are not working 
html += '<p>{'+value.comment+'|smarty_modifier_autolink|nl2br|mention}</p>'; 
} 
} 

與評論第二個例子我都在瀏覽器中得到的是+value.comment+,而不是評論本身。 我一般不太會用jsonjavascript,也許還有其他一些方法來渲染html使它可以使用smarty函數?感謝大家!

+0

如果您在客戶端編寫此代碼,您將無法再次通過smarty處理生成的HTML ... – m13r

+0

如何處理生成的HTML代碼? – m13r

+0

對不起,我不明白這個問題。你什麼意思? –

回答

0

也許value.comment只需要報價:

html += '<p>{"'+value.comment+'"|smarty_modifier_autolink|nl2br|mention}</p>'; 

看一看這樣的:http://www.smarty.net/docs/en/language.modifiers.tpl

{後,正常情況下應該有一個智者插件,PHP變量或Smarty的命令。如果你想添加一個修飾符到內容字符串,那麼你必須用引號包圍它。

+0

它幾乎完成了這項工作,但問題是它將註釋轉變爲鏈接... –

+0

無論如何,我接受你的答案cuz這實際上做了這項工作,雖然我不能應用我自定義的功能。但也許這對別人真的很有幫助。現在,我決定堅持使無限滾動的經典方法 –

+0

爲什麼修飾符不工作?你看到了什麼錯誤?也許你必須嵌入一些花括號,例如'{{「somecontent」| smarty_modifier_autolink} | nl2br} – m13r

相關問題