wodrow 2015-12-07 22:21:00 16333次浏览 7条评论 7 0 0

yii2框架集成smarty模板

1.进入https://packagist.org/搜索yiisoft可以找出yiisoft/yii2-smarty已经收录到coposer

2.进入yii2/yii2-smarty项目内可以看到安装方法

php composer.phar require --prefer-dist yiisoft/yii2-smarty

3.点击项目中docs/guide/README.md有安装说明,配置文件添加

return [
    //....
    'components' => [
        'view' => [
            'renderers' => [
                'tpl' => [
                    'class' => 'yii\smarty\ViewRenderer',
                    //'cachePath' => '@runtime/Smarty/cache',
                ],
            ],
        ],
    ],
];

4.在控制器写入

public function actionTest() {
    return $this->render('test.tpl',['test'=>'smarty']);
}

其中test.tpl是完整的文件名

<div>123456{$test}</div>

5.测试输出

123456smarty

  • 评论于 2015-12-09 10:44 举报

    貌似没必要在加个smarty模版引擎,最后还是转成php编译的,个人见解

  • 评论于 2015-12-09 14:12 举报

    就看是否需要了
    smarty能让前端开发的东西更好维护些

  • 评论于 2016-03-08 13:37 举报

    整合后又个问题 就是你用模板输出时间 会发现 变量的值还是不变的样子

    2 条回复
    评论于 2016-03-08 16:45 回复

    你是怎么输出时间的啊

    评论于 2016-03-09 23:24 回复

    	// 请教一个问题 YII整合了Smarty  然后输出的时间 
    	// 模板里面的时间是不变的 但是PHP赋值的时间已经变了 
    	$abc = date("Y-m-d H:i:s",time());
    	echo $abc;//这个时间已经变化了
    	//模板输出的时间 还是最早的那个时间 没有任何变化
    	$this->smarty->assign('abc',$abc);
    	$this->smarty->display('index/index.html');
    
  • 评论于 2016-03-09 20:37 举报

    我的composer安装失败,请问如果自己下载了smarty的库要怎么集成啊?

    1 条回复
    评论于 2016-03-09 21:48 回复

    那你还是学学用composer吧,现在很流行的php依赖管理工具

  • 评论于 2016-03-09 23:22 举报
    	// 请教一个问题 YII整合了Smarty  然后输出的时间 
    	// 模板里面的时间是不变的 但是PHP赋值的时间已经变了 
    	$abc = date("Y-m-d H:i:s",time());
    	echo $abc;//这个时间已经变化了
    	//模板输出的时间 还是最早的那个时间 没有任何变化
    	$this->smarty->assign('abc',$abc);
    	$this->smarty->display('index/index.html');
    
    2 条回复
    评论于 2016-03-10 08:36 回复

    你用yii的render方法试试吧,不要用smarty原来的方法

    评论于 2016-03-14 21:50 回复

    用render 那输出的 怎么用smarty的标签呢 ?

  • 评论于 2016-05-31 21:33 举报

    集成不成功,有那么朋友有遇到
    PHP Fatal Error – yii\base\ErrorException
    Class 'Smarty' not found

  • 评论于 2016-11-14 14:25 举报

    yii2 整合smarty 'cachePath' => '@runtime/Smarty/cache' 但是 没有生成cache文件 为啥?

    1 条回复
    评论于 2017-08-18 13:19 回复

    程序运行起来后,会自动生成对应的文件夹及文件。

您需要登录后才可以评论。登录 | 立即注册