itstructure / yii2-sitemap-generator
Yii2 component for generate sitemap.xml files.
Installs: 216
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- php: >=7.1.0
- yiisoft/yii2: 2.*
This package is not auto-updated.
Last update: 2024-12-21 21:26:03 UTC
README
Yii2 component for generation sitemap.xml
It is reworked package, based on Dreamjobs yii2 sitemap generator
Installation
Run command
composer require itstructure/yii2-sitemap-generator "~1.0.0"
Configuration
Set in "./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 ], ], ];
Set in "./environments/prod/console/config/main-local.php"
'components' => [ // fix console create url 'urlManager' => [ 'baseUrl' => 'http://example.com', ], ],
Set in "./environments/dev/console/config/main-local.php"
'components' => [ // fix console create url 'urlManager' => [ 'baseUrl' => 'http://example.local', ], ],
Run command
php ./init
OR just apply same config to your "/console/config/main-local.php"
ALSO you can merge urlManager rules from frontend(or common) to console config. Just change "/console/config/main.php" file:
// 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', // ... ];
Also useful append .gitignore for ignore all generated sitemaps files:
# sitemaps
/frontend/web/sitemap*.xml
TBD: creating sitemap-data models
Usage
Run Yii console command in project root:
php ./yii sitemap