bet亚洲官方网站-bet3365娱乐场手机版

Name

fetch() - 取得输出内容

说明

string fetch(string template,
string cache_id,
string compile_id);

该函数将取得一个模板输出的内容,而不是显示出来。 该函数需要指定一个合法的模板资源的类型和路径。 第二个可选的参数$cache_id设置缓存,详情参见 缓存

As an optional third parameter, you can pass a $compile_id. This is in the event that you want to compile different versions of the same template, such as having separate templates compiled for different languages. You can also set the $compile_id variable once instead of passing this to each call to this function.

Example 14.21. fetch()


<?php
include(Smarty.class.php);
$smarty = new Smarty;

$smarty->setCaching(true);

// 按照URL来MD5生成一个特定的缓存ID
$cache_id = md5($_SERVER[REQUEST_URI]);

// 捕获输出
$output = $smarty->fetch(index.tpl, $cache_id);

// 处理输出的内容
echo $output;
?>

    


Example 14.22. 用fetch()来发邮件

email_body.tpl模板的内容:


Dear {$contact_info.name},

Welcome and thank you for signing up as a member of our user group.

Click on the link below to login with your user name
of {$contact_info.username} so you can post in our forums.

{$login_url}

List master

{textformat wrap=40}
This is some long-winded disclaimer text that would automatically get wrapped
at 40 characters. This helps make the text easier to read in mail programs that
do not wrap sentences for you.
{/textformat}

    

该PHP脚本使用了PHP的 mail()函数。


<?php

// 从数据库或其他来源获取到$contact_info

$smarty->assign(contact_info,$contact_info);
$smarty->assign(login_url,"http://{$_SERVER[SERVER_NAME]}/login");

mail($contact_info[email], Thank You, $smarty->fetch(email_body.tpl));

?>

    


参见 {fetch} display(), {eval}, 和 templateExists().

bet亚洲官方网站|bet3365娱乐场手机版

XML 地图 | Sitemap 地图