elcodi/sitemap-bundle
Sitemap bundle from the Elcodi e-commerce suite for Symfony, providing sitemap generation for your store. Read-only package; use the main elcodi/elcodi repo for issues and pull requests. MIT licensed.
Before you write a single line, understand what you are adopting: elcodi/sitemap-bundle is a Symfony bundle from the Elcodi e-commerce suite, not a Laravel package. The GitHub repository you are looking at is a read-only split of the elcodi/elcodi monorepo, frozen at a 2016 release and explicitly marked EOL. There is no ServiceProvider, no config publish stub, and no facade — so "day-to-day" here means either (a) running it inside an old Symfony 2.x/3.x Elcodi app, or (b) reading its source as reference material for building your own sitemap generator in Laravel.
Where to look first:
elcodi/elcodi), not this split repo — issues, PRs, and history all live there. The split repo's README is a stub and will not help you.DependencyInjection/ and Resources/config/ to learn the service IDs and configuration tree.Product, Category, and related components).Minimal install attempt (expect it to fail on modern stacks):
composer require elcodi/sitemap-bundle
This will almost certainly explode on PHP 8 or modern Symfony due to abandoned transitive dependencies. If you must inspect it, do so in a disposable container pinned to the era (PHP 5.6/7.x, Symfony 2.8), then copy the logic rather than the package.
First real use case: in a Laravel app, you are not installing this. You are reading how Elcodi models URL sources for products/categories, then reproducing that with a spatie/laravel-sitemap-style generator or a hand-rolled artisan sitemap:generate command. Treat the bundle as a design reference for e-commerce sitemap concerns (locale-aware URLs, entity enumeration, caching), not a dependency.
Within its native Symfony/Elcodi world, the pattern is container-driven:
generate-style method, then persist the XML to public/ or stream it as a response.*Repository or *Provider interfaces) and asks each entity for its URL. This repository-abstraction is the genuinely reusable idea.config.yml section under the bundle key controlling which entities/locales are included and where output goes. Check Configuration.php before assuming defaults.Translating the pattern to Laravel day-to-day:
// app/Console/Commands/GenerateSitemap.php
public function handle(SitemapBuilder $builder)
{
$builder->addProducts(Product::where('active', true)->cursor());
$builder->addCategories(Category::all());
$builder->writeTo(public_path('sitemap.xml'));
}
cursor() or chunking — Elcodi's e-commerce entities mean potentially tens of thousands of products, and this is the same scaling concern the original bundle had to solve./en/products/..., /es/products/...) if you mirror Elcodi's multi-locale behavior.symfony/*, PSR versions, and PHP constraints are near-certain. If you only want the logic, git clone and read — skip composer require.DependencyInjection/Extension.php → service definitions → the generator class. Service IDs, not docs, are the source of truth.spatie/laravel-sitemap. This bundle itself is a 2016 artifact best left as reference.How can I help you explore Laravel packages today?