roelofjan-elsinga / aloia-cms-publish
A publishing plugin for roelofjan-elsinga/aloia-cms.
Fund package maintenance!
roelofjan-elsinga
Patreon
Installs: 2 292
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- mikey179/vfsstream: ^1.6
- orchestra/testbench: ^7.4
- phpunit/phpunit: ^9.0
README
This is a self publishing module for Aloia CMS.
Installation
You can include this package through Composer using:
composer require roelofjan-elsinga/aloia-cms-publish
and if you want to customize the folder structure, then publish the configuration through:
php artisan vendor:publish --provider="AloiaCms\\Publish\\ServiceProvider"
Overwriting the sitemap command
You can overwrite the sitemap command, as this only adds support for articles and pages by default. To do this, you'll need to make your own implementation of the command and register this in a service provider like so:
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' ]; } }
and register this new command in the AppServiceProvider:
public function register() { $this->app->bind(\AloiaCms\Publish\Console\SitemapCreator::class, function () { return new \App\Console\Commands\SitemapCreator(); }); }
You can now add any custom urls to the sitemap.
Testing
You can run the included tests by running ./vendor/bin/phpunit
in your terminal.