本文实例讲述了Smarty使用自定义资源的方法。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<?php
// put these function somewhere in your application
function db_get_template ( $tpl_name , & $tpl_source , & $smarty_obj )
{
// do database call here to fetch your template,
// populating $tpl_source
$sql = new SQL;
$sql ->query("select tpl_source
from my_table
where tpl_name= '$tpl_name' ");
if ( $sql ->num_rows) {
$tpl_source = $sql ->record[ 'tpl_source' ];
return true;
} else {
return false;
}
}
function db_get_timestamp( $tpl_name , & $tpl_timestamp , & $smarty_obj )
{
// do database call here to populate $tpl_timestamp.
$sql = new SQL;
$sql ->query("select tpl_timestamp
from my_table
where tpl_name= '$tpl_name' ");
if ( $sql ->num_rows) {
$tpl_timestamp = $sql ->record[ 'tpl_timestamp' ];
return true;
} else {
return false;
}
}
function db_get_secure( $tpl_name , & $smarty_obj )
{
// assume all templates are secure
return true;
}
function db_get_trusted( $tpl_name , & $smarty_obj )
{
// not used for templates
}
// register the resource name "db"
$smarty ->register_resource( "db" , array ( "db_get_template" ,
"db_get_timestamp" ,
"db_get_secure" ,
"db_get_trusted" ));
// using resource from php script
$smarty ->display( "db:index.tpl" );
?>
|
希望本文所述对大家基于smarty的php程序设计有所帮助。