简易Smarty模板类

一个简易Smarty模板类,只需要一个文件。在ecshop里面找到的,感谢ecshop。

测试代码:

require_once 'cls_template.php';



$smarty = new cls_template;



$smarty->cache_lifetime = 30;

$smarty->template_dir = dirname(__FILE__) . '/cache/smarty/template/';

$smarty->cache_dir = dirname(__FILE__) . '/cache/smarty/cache/';

$smarty->compile_dir = dirname(__FILE__) . '/cache/smarty/compiled/';



$smarty->direct_output = false;

$smarty->force_compile = true;



$array = array(1, 2, 3, 4, 5);

$smarty->assign('array', array( 

    'egw_polls' => array(

        'fd' => array(

            'poll_id' => array('type' => 'auto','nullable' => false),

            'poll_title' => array('type' => 'varchar', 'precision' => '100', 'nullable' => false),

            'poll_timestamp' => array('type' => 'int', 'precision' => '8', 'nullable' => false),

            'poll_visible' => array('type' => 'int', 'precision' => '4', 'nullable' => false, 'default' => '0'),

            'poll_votable' => array('type' => 'int', 'precision' => '4', 'nullable' => false, 'default' => '0'),

        ),

        'pk' => array('poll_id'),

        'fk' => array(),

        'ix' => array(),

        'uc' => array()

    ),

    'egw_polls_answers' => array(

        'fd' => array(

            'answer_id' => array('type' => 'auto', 'nullable' => false),

            'poll_id' => array('type' => 'int', 'precision' => '4', 'nullable' => false),

            'answer_text' => array('type' => 'varchar', 'precision' => '100', 'nullable' => false),

            'answer_votes' => array('type' => 'int', 'precision' => '4', 'nullable' => false, 'default' => '0'),

        ),

        'pk' => array('answer_id'),

        'fk' => array(),

        'ix' => array('poll_id'),

        'uc' => array()

    )

));



$smarty->assign('name', 'omnitrix');



$smarty->assign('user', array('name' => 'admin', 'password' => '456', 'email' => '[email protected]'));



$smarty->display('t1.tpl');

 

测试模板:

<br/>Name: {$name}

<br/>Admin: {$user.name}

<br/>Password: {$user.password}

<br/>Email: {$user.email|upper|escape:url}



{foreach from=$array key=table_name item=table_info name=abc}

<br/>{$table_name}: {$smarty.foreach.abc.first} : {$smarty.server.PHP_SELF}

{foreachelse}

<br/>Nothing.

{/foreach} 

 

类文件cls_template.php位于ecshop/includes,可以在ecshop下载源码后找到。

你可能感兴趣的:(smarty)