0

I am trying to use a single smarty template in both PHP and JavaScript. This works great but I'm trying to figure out how I can use an {include file=""} tag in the template when the JavaScript side expects an element ID and the PHP side expects a file path?

Do the element IDs have to match the path I will use when on the PHP side?

4

2 回答 2

0

我知道这个问题看起来很老,但我想回答你的问题,因为我通过谷歌遇到了这个问题,并且可能会发生在许多其他问题上。

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

于 2015-02-19T06:02:00.617 回答
0

好的,我想出了如何做到这一点,我重写了 jsmart 的 js 原型方法,该方法通过 id 请求模板:

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

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

于 2013-10-27T16:04:22.100 回答