2013-10-27 4 views
0

Я пытаюсь использовать один шаблон smarty как в PHP, так и в JavaScript. Это отлично работает, но я пытаюсь выяснить, как я могу использовать тег {include file = ""} в шаблоне, когда сторона JavaScript ожидает идентификатор элемента, а сторона PHP ожидает путь к файлу?Smarty включает шаблон как в php, так и в javascript (используя Smarty и JSmart)

Нужно ли идентификаторам элементов соответствовать пути, который я буду использовать, когда на стороне PHP?

ответ

0

ОК Я работал, как это сделать, я переписал метод JS-прототип для jsmart, который запрашивает шаблон, ID:

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

Таким образом я могу контролировать то, что делать с идентификатором, включая картирование его элемент шаблона с другим идентификатором из пройденного пути.

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

Смежные вопросы