Smarty包括php和javascript中的模板(使用Smarty和JSmart)

时间:2013-10-27 15:27:44

标签: templates include smarty

我正在尝试在PHP和JavaScript中使用单个智能模板。这很好但我想弄清楚当JavaScript方需要一个元素ID并且PHP方需要一个文件路径时如何在模板中使用{include file =“”}标签?

元素ID是否必须与我在PHP端使用的路径相匹配?

2 个答案:

答案 0 :(得分:0)

好的,我找到了如何做到这一点,我覆盖了jsmart的js原型方法,它通过id请求模板:

jSmart.prototype.getTemplate = function () {}; // Add your method here

这样我可以控制如何处理id,包括将它映射到与传递路径具有不同ID的模板元素。

答案 1 :(得分:0)

我知道这个问题看起来很旧,但我想回答你的问题,因为我通过Google遇到了这个问题,可能会与其他许多人一起讨论。

xyz.tpl - 要包含的模板。

Hello {$name}

pqr.tpl - 父模板。

There you see the message 
{include file='./xyz.tpl'}

现在在网页的Javascript部分定义

jSmart.prototype.getTemplate = function (name) {
// Load template content here of template 'name' via ajax or DOM. Say here in the e.g. it would be './xyz.tpl'.
};

现在只需调用父模板

<script>
    var tplData = <content of pqr.tpl>; // You can load data in this via ajax or from DOM.
    var tplObj = new jSmart(tplData);
    var output = tplObj.fetch({'name': 'World'});
    alert(output);
</script>

来源: - https://github.com/umakantp/jsmart/wiki/Include-Templates