yii2使用模板生成静态页 [ 2.0 版本 ]
谁有yii2使用模板生成静态页的例子或者别的什么
共 2 个回答
-
johnny1991 回答于 2017-04-10 14:16 举报
我做过在不使用模版的情况下生成静态页面,你要吗
共 5 条回复johnny1991 回复于 2017-04-12 11:16 回复@Edwin 核心思想是使用了FragmentCache这个类,把静态的html存储到数据库,或是文件,或是内存里面(这个是由FragmentCache的cache属性决定的),实现方法是:
在view文件里面使用如下的方法
<?php if($this->beginCache($id, ['variations' => [Yii::$app->language]])) :?>
xxxx(你要生成静态页面的内容)
<?php $this->endCache();?>
<?php endif;?>
这个是片段的静态页面的做法,如果需要全局静态页面的做法,使用PageCache这个类,在你的controller里面写如下方法,并且进行相关配置,这个根据你的实际情况来配置就行,这个要说一下这个dependency,这个参数,如果你希望的静态页面的有效是依赖于某个条件,就可以使用这个参数,比如下面的这个dependency的意思是,在post的数量不变的情况下,静态页面是有效的。
public function behaviors()
{return [ [ 'class' => 'yii\filters\PageCache', 'only' => ['index'], 'duration' => 60, 'variations' => [ \Yii::$app->language, ], 'dependency' => [ 'class' => 'yii\caching\DbDependency', 'sql' => 'SELECT COUNT(*) FROM post', ], ], ];
}
@johnny1991 我想生成静态文件index.html 那种,定时生成
今之人兮 郑州
注册时间:2016-05-04
最后登录:2021-09-29
在线时长:49小时14分
最后登录:2021-09-29
在线时长:49小时14分
- 粉丝8
- 金钱16365
- 威望10
- 积分16955