是否可以将 smarty 函数传递到 json html 输出中?

Is it possible to pass smarty functions into json html output?

尝试使用 php、smarty 和 jquery ajax 实现无限滚动。据我所知,最好的方法是获取 json 格式数据的响应,而不是加载服务器太多,并在客户端执行所有过程。问题是我想在其中传递聪明的功能。 只是一段带注释的代码让你明白我的意思:

$.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 函数?谢谢大家!

也许 value.comment 只需要引号:

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

看看这个:http://www.smarty.net/docs/en/language.modifiers.tpl

一般在{之后应该有smarty插件,php变量或者smarty命令。如果要向内容字符串添加修饰符,则必须用引号将其括起来。