What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
WAP/WML шаблоны требуют, чтобы
заголовок Content-Type
был передан вместе с шаблоном. Простейший путь - написать
пользовательскую функцию, которая будет выводить заголовки.
Если вы используете кэширование,
это не сработает, так что мы сделаем это с помощью тэга
{insert}
;
не забывайте, что тэги {insert}
не кэшируются!
Убедитесь, что перед шаблоном в браузер ничего не выводится,
иначе отправить заголовок не получится.
Example 18.6. Использование {insert} для отправки заголовка Content-Type для WML
<?php // убедитесь, что apache настроен на обработку расширений .wml! // добавьте эту функцию в своё приложение или в Smarty.addons.php function insert_header($params) { // эта функция ожидает аргумент $content if (empty($params['content'])) { return; } header($params['content']); return; } ?>
ваш шаблон Smarty должен начинаться с тэга insert:
{insert name=header content="Content-Type: text/vnd.wap.wml"} <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <!-- begin new wml deck --> <wml> <!-- begin first card --> <card> <do type="accept"> <go href="#two"/> </do> <p> Welcome to WAP with Smarty! Press OK to continue... </p> </card> <!-- begin second card --> <card id="two"> <p> Pretty easy isn't it? </p> </card> </wml>