存档

文章标签 ‘smarty’

zend framework整合smarty

2010年8月2日 effect 2 条评论

smarty是zend官方推出的模板引擎,功能不容置疑。Zend Framework的内置view是非常简陋的。所以想用smarty替换内置的Zend_view。

这个整合完全不修改框架代码,新建了一个插件,这个插件的代码:

my_plugin_view.php:

< ?php
require_once 'Zend/Controller/Plugin/Abstract.php';
 
class my_plugin_view extends Zend_Controller_Plugin_Abstract {
    public function routeStartup(Zend_Controller_Request_Abstract $request){
        require_once 'Zend/Controller/Action/Helper/ViewRenderer.php';
        require_once 'My_View_Smarty.php';
        Zend_Controller_Action_HelperBroker::removeHelper('ViewRenderer');
        Zend_Controller_Action_HelperBroker::addHelper(new        Zend_Controller_Action_Helper_ViewRenderer(new My_View_Smarty()));
    }
}
?>

阅读全文…

分类: php, zend framework 标签:

smarty插件整理

2010年8月2日 effect 没有评论

SMARTY作为官方发布的模板引擎,一直在使用,很好很强大。

下面说说smarty插件的制作方法。

smarty本身就是基于插件的方式的,这种方式很好很强大,顶!

smarty手册里面就有关于插件制作的详细方法,这里我只给出一个代码。供备忘或者参考

smarty所有的插件在smarty库的目录plugins里面。

在里面新建一个文件:function.yzm.php
内容为:

<?php
function smarty_function_yzm($param,&$smarty){
    if (!isset($param['var'])) {
        $smarty->trigger_error('array:缺少参数var');
    }
    if (!isset($param['assign'])) {
        $smarty->trigger_error('array:缺少参数assign');
    }
 
    $smarty->assign($param['assign'],$param['var']);
}
?>

这样你在模板里面就可以这样使用
{yzm var=’颜喆明’ assign=’y'}
{y}

分类: php 标签: