* 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是参数

解决方案 »

  1.   

    楼主那种调用方式是调用一些模板的拓展函数的,你看看smartemplate说明上其他那些栏就知道了。
      

  2.   

    smarttemplate是什么呀?
    有没有php方面的好的代码推荐给我,谢谢
      

  3.   

    我已经解决了这个问题
    就是把smarttemplate_extensions放在smarttemplate_compiled指定的目录就行了
      

  4.   

    我顺便问个问题
    模板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.
      

  5.   

    内定的
    {ROWBIT} 用于改变背景色,产生“问题列表”一样的相间色效果,当然你需要象样例那样进行设置
    {ROWCNT} 用于产生行号
    你看一下生成的程序文件就知道他是如何进行的了
      

  6.   

    回复人: zhongjihang() ( ) 信誉:96  2005-09-12 16:30:00  得分: 0  
     
     
       我已经解决了这个问题
    就是把smarttemplate_extensions放在smarttemplate_compiled指定的目录就行了  
     
    谢谢,我的也好了!但是把38个文件都放在compiled里面会发什么?
    用一次template就依次打开38个文件找需要的函数?
    这样会不会很慢啊?虽然现在看不出来大家都是怎么做的呢?
      

  7.   

    只是找其中需要的函数,并不会全部打开的吧
    如{option:}就对应smarttemplate_extension_options.php