2009-08-08 6 views
0

Я использую AJAX для извлечения «частичных шаблонов» с сервера и повторения их в браузере. Это приведет к тому, что весь этот HTML-код должен быть отправлен обратно в браузер. Мне было интересно, есть ли способ просто изменить переменные, но оставить там весь html. Что-то вроде этого:Обновить шаблон Smarty с новыми переменными?

$smarty->assign("fruit", "apple"); // At Load 

$smarty->assign("fruit", "pear"); // Changed through an AJAX call.. 

Тогда что-то вроде ..

$smarty->reload('FruitTemplate'); // Reloads all the variables 

Любые идеи?

Спасибо! Мэтт Мюллер

+2

Smarty - это серверная технология. После загрузки страницы вы не сможете изменить страницу с помощью Smarty, если вы не перезагрузите страницу. Конечно, вы можете использовать Smarty в вызове AJAX, но это только вернет новый HTML-код на вашу страницу. После загрузки Smarty не может видеть остальную часть страницы, которую уже загрузил ваш клиент. Возможно, я не понимаю ваш вопрос. – Cfreak

+0

Возможно, вам стоит написать свой ответ в качестве ответа Cfreak? –

ответ

0

Я боюсь, что Cfreak работает правильно на сервере, по сути дела, вы делаете именно то, что, как вы говорите, хотите сделать на клиенте на сервере. Единственный способ сделать то, что вы хотите, будет через javascript.

Однако это действительно проблема. если вы html-файлы не огромны, он не должен вызывать никаких проблем для вас.

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