itstructure / yii2-sitemap-generator
用于生成sitemap.xml文件的Yii2组件。
1.0.0
2020-07-06 08:05 UTC
Requires
- php: >=7.1.0
- yiisoft/yii2: 2.*
This package is not auto-updated.
Last update: 2024-09-14 19:37:03 UTC
README
用于生成sitemap.xml的Yii2组件
这是一个基于Dreamjobs yii2 sitemap generator重新工作的包。
安装
运行命令
composer require itstructure/yii2-sitemap-generator "~1.0.0"
配置
在"./console/config/main.php"
中设置
return [ 'controllerMap' => [ 'sitemap' => [ 'class' => 'Itstructure\Sitemap\SitemapController', 'baseUrl' => 'https://example.com', 'modelsPath' => '@console/models/sitemap', // Sitemap-data models directory 'modelsNamespace' => 'console\models\sitemap', // Namespace in [[modelsPath]] files 'savePathAlias' => '@frontend/web', // Where would be placed the generated sitemap-files 'sitemapFileName' => 'sitemap.xml', // Name of main sitemap-file in [[savePathAlias]] directory ], ], ];
在"./environments/prod/console/config/main-local.php"
中设置
'components' => [ // fix console create url 'urlManager' => [ 'baseUrl' => 'http://example.com', ], ],
在"./environments/dev/console/config/main-local.php"
中设置
'components' => [ // fix console create url 'urlManager' => [ 'baseUrl' => 'http://example.local', ], ],
运行命令
php ./init
或者直接将相同的配置应用到您的"/console/config/main-local.php"
此外,您还可以将前端(或通用)的urlManager规则合并到控制台配置中。只需更改"/console/config/main.php"文件
// get config of urlManager from frontend for correctly create urls in console app $frontend = require(__DIR__ . '/../../frontend/config/main.php'); $frontendUrlManager = [ 'components' => [ 'urlManager' => $frontend['components']['urlManager'], ], ]; // ... // Merge frontend urlManager config with console application main config return yii\helpers\ArrayHelper::merge($frontendUrlManager, [ 'id' => 'app-console', // ... ];
此外,对于忽略所有生成的sitemap文件,添加.gitignore也非常有用。
# sitemaps
/frontend/web/sitemap*.xml
待定:创建sitemap-data模型
使用方法
在项目根目录中运行Yii控制台命令
php ./yii sitemap