Можно ли использовать шаблонизатор smarty для создания шаблонов на стороне клиента? - PullRequest
0 голосов
/ 29 марта 2011

Мое веб-приложение использует систему шаблонов 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 ]

2 голосов
/ 20 мая 2011

Есть порт PHP Smarty для JScript - http://code.google.com/p/jsmart/

Это бесплатно и с открытым исходным кодом

С его помощью вы можете использовать существующие шаблоны Smarty как в PHP, так и в JavaScript

0 голосов
/ 29 марта 2011

Я не думаю, что Smarty может, так как это зависит от PHP. но попробуйте это http://api.jquery.com/category/plugins/templates/ это вклад Microsoft в проект jquery

0 голосов
/ 29 марта 2011

Smarty работает в сочетании с PHP. Поскольку PHP является языком на стороне сервера, вы не можете заставить Smarty кешировать на стороне клиента.

Почему бы просто не загрузить исходную структуру с заполнителями, а затем для каждого запроса JSON просто заменить заполнители в вашем HTML-файле?

...