Skip to content

Commit 2c76915

Browse files
committed
Fix site map service binding + refactor
1 parent c645746 commit 2c76915

File tree

4 files changed

+21
-11
lines changed

4 files changed

+21
-11
lines changed

src/Commands/GenerateSitemapCommand.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Console\Command;
66
use Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages;
7+
use Statikbe\FilamentFlexibleContentBlockPages\Services\Contracts\GeneratesSitemap;
78

89
class GenerateSitemapCommand extends Command
910
{
@@ -35,8 +36,7 @@ public function handle(): int
3536
$this->info('Generating sitemap...');
3637

3738
try {
38-
$generatorServiceClass = FilamentFlexibleContentBlockPages::config()->getSitemapGeneratorService();
39-
$generator = app($generatorServiceClass);
39+
$generator = app(GeneratesSitemap::class);
4040

4141
$generator->generate();
4242

src/FilamentFlexibleContentBlockPagesServiceProvider.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Statikbe\FilamentFlexibleContentBlockPages\Components\Menu;
1616
use Statikbe\FilamentFlexibleContentBlockPages\Components\MenuItem;
1717
use Statikbe\FilamentFlexibleContentBlockPages\Listeners\SlugChangedListener;
18+
use Statikbe\FilamentFlexibleContentBlockPages\Services\Contracts\GeneratesSitemap;
1819
use Statikbe\FilamentFlexibleContentBlocks\Events\SlugChanged;
1920
use Statikbe\FilamentFlexibleContentBlocks\FilamentFlexibleContentBlocks;
2021

@@ -68,13 +69,10 @@ public function packageBooted()
6869

6970
public function packageRegistered()
7071
{
72+
// Bind sitemap generator interface to the configured implementation
7173
$this->app->bind(
72-
\Statikbe\FilamentFlexibleContentBlockPages\Services\SitemapGeneratorService::class,
73-
function ($app) {
74-
$serviceClass = \Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages::config()->getSitemapGeneratorService();
75-
76-
return $app->make($serviceClass);
77-
}
74+
GeneratesSitemap::class,
75+
config('filament-flexible-content-block-pages.sitemap.generator_service', \Statikbe\FilamentFlexibleContentBlockPages\Services\SitemapGeneratorService::class)
7876
);
7977

8078
// register slug changed listener
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Statikbe\FilamentFlexibleContentBlockPages\Services\Contracts;
4+
5+
interface GeneratesSitemap
6+
{
7+
/**
8+
* Generate the sitemap and save it to the configured location.
9+
*/
10+
public function generate(): void;
11+
}

src/Services/SitemapGeneratorService.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,20 @@
77
use Psr\Container\ContainerExceptionInterface;
88
use Psr\Container\NotFoundExceptionInterface;
99
use Spatie\Sitemap\Sitemap;
10-
use Spatie\Sitemap\SitemapGenerator;
10+
use Spatie\Sitemap\SitemapGenerator as SpatieSitemapGenerator;
1111
use Spatie\Sitemap\Tags\Alternate;
1212
use Spatie\Sitemap\Tags\Url;
1313
use Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages;
1414
use Statikbe\FilamentFlexibleContentBlockPages\Models\Page;
15+
use Statikbe\FilamentFlexibleContentBlockPages\Services\Contracts\GeneratesSitemap;
1516
use Statikbe\FilamentFlexibleContentBlockPages\Services\Enum\SitemapGeneratorMethod;
1617
use Statikbe\FilamentFlexibleContentBlocks\ContentBlocks\CallToActionBlock;
1718
use Statikbe\FilamentFlexibleContentBlocks\FilamentFlexibleBlocksConfig;
1819
use Statikbe\FilamentFlexibleContentBlocks\Models\Contracts\HasCode;
1920
use Statikbe\FilamentFlexibleContentBlocks\Models\Contracts\HasParent;
2021
use Statikbe\FilamentFlexibleContentBlocks\Models\Contracts\Linkable;
2122

22-
class SitemapGeneratorService
23+
class SitemapGeneratorService implements GeneratesSitemap
2324
{
2425
protected Sitemap $sitemap;
2526

@@ -75,7 +76,7 @@ protected function generateByCrawling(): void
7576
{
7677
$baseUrl = config('app.url');
7778

78-
$this->sitemap = SitemapGenerator::create($baseUrl)->getSitemap();
79+
$this->sitemap = SpatieSitemapGenerator::create($baseUrl)->getSitemap();
7980
}
8081

8182
protected function addPages(): void

0 commit comments

Comments
 (0)