作者:无声无息无心跳 | 来源:互联网 | 2014-05-16 09:11
yii-sitemap-generator?是一个生成网站 sitemap 的?Yii 框架?扩展
如何使用
1. 下载文件解压到?/protected/extensions
?文件夹下
2. 修改配置文件?/protected/config/main.php
, 如下
'components'=>array(
...
'sitemap'=>array(
'class'=>'ext.yii-sitemap-generator.Sitemap',
'basePath'=>dirname(__DIR__).'/www',
'urls'=>array(
array('site/index','frequency'=>'always','priority'=>'1.0'),
array('site/page','view'=>'about','frequency'=>'always','priority'=>'1.0'),
array('site/contact','frequency'=>'weekly','priority'=>'0.2'),
array('model'=>'Post','url'=>array('post/view','id'=>'id'),'frequency'=>'daily','priority'=>'0.2'),
)
),
...
)
其中,urls
?的格式分为两种
1). 基于模型的 URL,如上面的
array('model'=>'Post','url'=>array('post/view','id'=>'id'),'frequency'=>'daily','priority'=>'0.2')
model
?表示模型的类名;?url
?构建 URL,数组第一位相当与 yii 的?route
,后面的参数使用 K=>V 值对,K表示参数名,V表示模型中的 V 属性值,如上面的 V?id
?指的是 Post 模型实例化对象的 id 属性值;frequency
?表示更新频次,与sitemap语法中的changefreq 相同;priority
?表示权重,与 sitemap 中的 priority 相同。2). 基本 URL 如上面的
array('site/page','view'=>'about','frequency'=>'always','priority'=>'1.0')
frequency
?和?priority
?与上面相同,注意的是,数组第一项必须为 yii 的?route
3. 在 consloe 中生成
创建?protected/commands/SitemapCommand.php
sitemap;
$sitemap->generate();
}
}
运行命令?yiic sitemap
?就可以生成站点 Sitemap 了,你可以创建一个cron job 定时执行这个命令,达到定时更新 sitemap 的目的
在 Controller 中生成的使用方法也是一样,直接使用?Yii::app()->sitemap
?就可以返回?Sitemap
?类了。
相关链接:
yii-sitemap-generator项目地址