2017-06-22 118 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

相关问题