我正在尝试在PHP和JavaScript中使用单个智能模板。这很好但我想弄清楚当JavaScript方需要一个元素ID并且PHP方需要一个文件路径时如何在模板中使用{include file =“”}标签?
元素ID是否必须与我在PHP端使用的路径相匹配?
答案 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