Files
ABSDEV/Modules/Sitemap/Http/Controllers/SitemapController.php
T
2026-07-24 10:30:36 +01:00

4 lines
891 B
PHP

<?php
namespace Modules\Sitemap\Http\Controllers; use App\Http\Controllers\Controller; use Illuminate\Http\Response; use Modules\Blog\Models\Blog; use Modules\News\Models\News; use Modules\Pages\Models\Page;
final class SitemapController extends Controller { public function index(): Response { $urls=collect(); $urls->push(['loc'=>url('/'),'updated_at'=>now()]); Page::query()->where('status','published')->get()->each(fn($r)=>$urls->push(['loc'=>route('pages.public.show',$r->slug),'updated_at'=>$r->updated_at])); Blog::published()->get()->each(fn($r)=>$urls->push(['loc'=>route('blog.public.show',$r->slug),'updated_at'=>$r->updated_at])); News::published()->get()->each(fn($r)=>$urls->push(['loc'=>route('news.public.show',$r->slug),'updated_at'=>$r->updated_at])); return response()->view('sitemap::index',compact('urls'))->header('Content-Type','application/xml; charset=UTF-8'); } }