roelofjan-elsinga/aloia-cms-publish

roelofjan-elsinga/aloia-cms 的发布插件。

4.0.0 2022-05-08 07:14 UTC

This package is auto-updated.

Last update: 2024-09-14 12:42:53 UTC


README

CI StyleCI Status Code coverage Total Downloads Latest Stable Version License

这是一个用于 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 以运行包含的测试。