* Usage Example I:
* Content: $template->assign('pick', array( "on", "off" ) );
* Template: Choose: <select name="onoff"> {options:pick} </select>
* Result: Choose: <select name="onoff"> <option>on</option><option>off</option> </select>
*
* Usage Example II:
* Content: $template->assign('color', array( "FF0000" => "Red", "00FF00" => "Green", "0000FF" => "Blue" ) );
* $template->assign('default', "00FF00" );
* Template: Color: <select name="col"> {options:color,default} </select>
* Result: Color: <select name="col"> <option value="FF0000">Red</option><option value="00FF00" selected>Green</option><option value="0000FF">Blue</option> </select>
在smarttemplate中,形如{options:pick}的表示是在调用模板函数。也就是说,你一定要有smarttemplate_extensions子目录
其中options是函数名,pick是参数
* Content: $template->assign('pick', array( "on", "off" ) );
* Template: Choose: <select name="onoff"> {options:pick} </select>
* Result: Choose: <select name="onoff"> <option>on</option><option>off</option> </select>
*
* Usage Example II:
* Content: $template->assign('color', array( "FF0000" => "Red", "00FF00" => "Green", "0000FF" => "Blue" ) );
* $template->assign('default', "00FF00" );
* Template: Color: <select name="col"> {options:color,default} </select>
* Result: Color: <select name="col"> <option value="FF0000">Red</option><option value="00FF00" selected>Green</option><option value="0000FF">Blue</option> </select>
在smarttemplate中,形如{options:pick}的表示是在调用模板函数。也就是说,你一定要有smarttemplate_extensions子目录
其中options是函数名,pick是参数
有没有php方面的好的代码推荐给我,谢谢
就是把smarttemplate_extensions放在smarttemplate_compiled指定的目录就行了
模板begin_end.html:
<style type="text/css">
.col0 { background-color: #D0D0D0; }
.col1 { background-color: #F0F0F0; }
</style>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th> No </th>
<th> Username </th>
<th> Usergroup </th>
</tr>
<!-- BEGIN users -->
<tr class="col{ROWBIT}">
<td> {ROWCNT} </td>
<td> {NAME} </td>
<td> {GROUP} </td>
</tr>
<!-- END users -->
</table>处理页面:
<?php
require_once "../smarttemplate/class.smarttemplate.php";
$page = new SmartTemplate("begin_end.html");
$users = array(
array( 'NAME' => 'John Doe', 'GROUP' => 'ADMIN' ),
array( 'NAME' => 'Jack Doe', 'GROUP' => 'SUPPORT' ),
array( 'NAME' => 'James Doe', 'GROUP' => 'GUEST' ),
array( 'NAME' => 'Jane Doe', 'GROUP' => 'GUEST' ),
);
$page->assign( 'users', $users );
$page->output();
?>
问题:{ROWBIT}和{ROWCNT}是怎么来的?代替的时候只有NAME和GROUP.
{ROWBIT} 用于改变背景色,产生“问题列表”一样的相间色效果,当然你需要象样例那样进行设置
{ROWCNT} 用于产生行号
你看一下生成的程序文件就知道他是如何进行的了
我已经解决了这个问题
就是把smarttemplate_extensions放在smarttemplate_compiled指定的目录就行了
谢谢,我的也好了!但是把38个文件都放在compiled里面会发什么?
用一次template就依次打开38个文件找需要的函数?
这样会不会很慢啊?虽然现在看不出来大家都是怎么做的呢?
如{option:}就对应smarttemplate_extension_options.php