kotmonstr / yii2-sitemap
Yii2 站点地图扩展
dev-master
2018-12-24 13:01 UTC
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-09-25 08:15:20 UTC
README
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist mrssoft/yii2-sitemap "dev-master"
或将
"kotmonstr/yii2-sitemap": "dev-master"
添加到 composer.json 文件的 require 部分中。
使用方法
创建控制器 SitemapController.php
<?php namespace app\controllers; use \kotmonstr\sitemap\Sitemap; class SitemapController extends \mrssoft\sitemap\SitemapController { /** * @var int Cache duration, set null to disabled */ protected $cacheDuration = 43200; // default 12 hour /** * @var string Cache filename */ protected $cacheFilename = 'sitemap.xml'; public function models() { return [ [ 'class' => \app\models\Page::className(), 'change' => Sitemap::MONTHLY, 'priority' => 0.8 ] ]; } public function urls() { return [ [ 'url' => 'about/index', 'change' => Sitemap::MONTHLY, 'priority' => 0.8 ] ]; } }
将 \mrssoft\sitemap\SitemapInterface 添加到模型接口中
<?php namespace app\models; class Page extends \yii\db\ActiveRecord implements \mrssoft\sitemap\SitemapInterface { ... /** * @return \yii\db\ActiveQuery */ public static function sitemap() { return self::find()->where('public=1'); } /** * @return string */ public function getSitemapUrl() { return \yii\helpers\Url::toRoute(['page/view', 'url' => $this->url], true); } }
添加到配置 URL 规则。
'components' => [ 'urlManager' => [ 'rules' => [ ... [ 'pattern' => 'sitemap', 'route' => 'sitemap/index', 'suffix' => '.xml' ], ... ] ],