可以使用smarty模板引擎在客户端创建模板吗?

时间:2011-03-29 07:46:30

标签: javascript smarty

我的Web应用程序在服务器端使用Smarty模板系统来生成内容。我的应用程序将使用大量的AJAX交互。我不是每次都在服务器端生成内容并将html数据发送到客户端,而是从服务器发送JSON,然后将数据与客户端的Smarty模板绑定。

这将非常有用,模板将在客户端缓存,然后我可以将其重用于每个AJAX交互,因为我只是从服务器发送JSON数据(而不是整个HTML) ,我可以节省很多实际下载的数据。

我知道胡子模板引擎可以做到这一点,因为它与语言无关,但是可以用Smarty做到吗?

我不想要的是在JS

中做这样的事情
 for (var i in foo) {
    html += '<div class = "myClass">foo[i].bar</div>';
}

Y.one('#myDiv').set('innerHTML', html);

相反,我想要的是在模板中使用div的这个模板,然后将数据分配给该模板

3 个答案:

答案 0 :(得分:2)

PHP Smarty到JScript的端口 - http://code.google.com/p/jsmart/

它是免费的开源

有了它,您可以在PHP和JavaScript中使用现有的Smarty模板

答案 1 :(得分:0)

Smarty与PHP结合使用。由于PHP是服务器端语言,因此无法让Smarty缓存客户端。

为什么不直接使用占位符加载初始结构,然后对于每个JSON请求,只需替换HTML文件中的占位符?

答案 2 :(得分:0)

我不认为聪明可以,因为它是PHP特定的。但试试这个http://api.jquery.com/category/plugins/templates/这是微软对jquery项目的贡献