roelofjan-elsinga / aloia-cms-publish
roelofjan-elsinga/aloia-cms 的发布插件。
4.0.0
2022-05-08 07:14 UTC
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- mikey179/vfsstream: ^1.6
- orchestra/testbench: ^7.4
- phpunit/phpunit: ^9.0
README
这是一个用于 Aloia CMS 的自发布模块。
安装
您可以通过 Composer 包括此包,使用
composer require roelofjan-elsinga/aloia-cms-publish
如果需要自定义文件夹结构,则通过
php artisan vendor:publish --provider="AloiaCms\\Publish\\ServiceProvider"
覆盖 sitemap 命令
您可以覆盖 sitemap 命令,因为这个命令默认只添加文章和页面的支持。为此,您需要实现自己的命令并在服务提供者中注册,如下所示
namespace App\Console\Commands; use SitemapGenerator\SitemapGenerator; class SitemapCreator extends \AloiaCms\Publish\Console\SitemapCreator { /** * Overwrite the base implementation and add additional URL's * * @param SitemapGenerator $generator */ protected function appendAdditionalUrls(SitemapGenerator $generator): void { foreach($this->getArrayOfOtherUrlsToAdd() as $url) { $generator->add($url, 0.8, $this->lastmod, 'monthly'); } } /** * Get the urls of the portfolio items * * @return array */ private function getArrayOfOtherUrlsToAdd(): array { return [ '/contact', '/services', '/any-other-urls-you-wish' ]; } }
并在 AppServiceProvider 中注册这个新命令
public function register() { $this->app->bind(\AloiaCms\Publish\Console\SitemapCreator::class, function () { return new \App\Console\Commands\SitemapCreator(); }); }
现在您可以向 sitemap 添加任何自定义 URL。
测试
您可以在终端中运行 ./vendor/bin/phpunit
以运行包含的测试。