agence-adeliom / easy-seo-bundle
Symfony SEO bundle for EasyAdmin
Installs: 9 175
Dependents: 1
Suggesters: 0
Security: 0
Stars: 8
Watchers: 1
Forks: 2
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.0.2
- ext-json: *
- agence-adeliom/easy-common-bundle: ^2.0.122
- agence-adeliom/easy-media-bundle: ^2.0.122
- easycorp/easyadmin-bundle: ^3.4 || ^v4.0
- presta/sitemap-bundle: ^3.0
- symfony/config: ^5.4 || ^6.0
- symfony/dependency-injection: ^5.4 || ^6.0
- symfony/deprecation-contracts: ^2.2 || ^v3.0
- symfony/event-dispatcher: ^5.4 || ^6.0
- symfony/framework-bundle: ^5.4 || ^6.0
- symfony/http-kernel: ^5.4 || ^6.0
- symfony/options-resolver: ^5.4 || ^6.0
- symfony/property-access: ^5.4 || ^6.0
- dev-main
- 3.x-dev
- 2.x-dev
- 2.0.122
- 2.0.121
- 2.0.120
- 2.0.119
- 2.0.118
- 2.0.117
- 2.0.116
- 2.0.115
- 2.0.114
- 2.0.112
- 2.0.111
- 2.0.110
- 2.0.109
- 2.0.108
- 2.0.107
- 2.0.106
- 2.0.105
- 2.0.104
- 2.0.103
- 2.0.102
- 2.0.101
- 2.0.100
- 2.0.99
- 2.0.98
- 2.0.97
- 2.0.96
- 2.0.95
- 2.0.94
- 2.0.93
- 2.0.92
- 2.0.91
- 2.0.90
- 2.0.89
- 2.0.88
- 2.0.87
- 2.0.86
- 2.0.85
- 2.0.84
- 2.0.83
- 2.0.82
- 2.0.81
- 2.0.80
- 2.0.79
- 2.0.78
- 2.0.77
- 2.0.76
- 2.0.75
- 2.0.74
- 2.0.73
- 2.0.72
- 2.0.71
- 2.0.70
- 2.0.69
- 2.0.68
- 2.0.67
- 2.0.66
- 2.0.65
- 2.0.64
- 2.0.63
- 2.0.62
- 2.0.61
- 2.0.60
- 2.0.59
- 2.0.57
- 2.0.56
- 2.0.55
- 2.0.54
- 2.0.53
- 2.0.52
- 2.0.49
- 2.0.48
- 2.0.47
- 2.0.46
- 2.0.45
- 2.0.44
- 2.0.43
- 2.0.42
- 2.0.41
- 2.0.40
- 2.0.39
- 2.0.38
- 2.0.37
- 2.0.36
- 2.0.35
- 2.0.34
- 2.0.33
- 2.0.32
- 2.0.31
- 2.0.30
- 2.0.29
- 2.0.28
- 2.0.27
- 2.0.26
- 2.0.25
- 2.0.24
- 2.0.23
- 2.0.22
- 2.0.19
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 1.0.0
- dev-develop
This package is auto-updated.
Last update: 2024-11-29 10:51:22 UTC
README
Easy SEO Bundle
Versions
Installation with Symfony Flex
Add our recipes endpoint
{ "extra": { "symfony": { "endpoint": [ "https://api.github.com/repos/agence-adeliom/symfony-recipes/contents/index.json?ref=flex/main", ... "flex://defaults" ], "allow-contrib": true } } }
Install with composer
composer require agence-adeliom/easy-seo-bundle
Documentation
Customisation
# config/packages/easy_seo.yaml easy_seo: title: suffix: ACME # Change the title suffix separator: '|' # Change the title separator breadcrumbs: class: 'breadcrumb' item_class: 'breadcrumb-item' link_class: '' current_class: 'active' separator: '>' separator_class: 'breadcrumb-separator' enable_profiler: '%kernel.debug%' ignore_profiler: - '^/admin*'
Add SEO to your entity
Entity
use Adeliom\EasySeoBundle\Traits\EntitySeoTrait; class Article { use EntitySeoTrait; }
CRUD Controller
class ArticleCrudController extends AbstractCrudController { public function configureFields(string $pageName): iterable { yield SEOField::new("seo"); } }
Twig template
# Render the title {{- seo_title(object.seo) -}} # Render the metadatas {{- seo_metas(object.seo) -}} # Render the breadcrumb {{- seo_breadcrumb() -}}
Events
easyseo.title
use Symfony\Contracts\EventDispatcher\Event; $dispatcher->addListener('easyseo.title', function (Event $event) { // will be executed when the easyseo.title event is dispatched // Get the title $title = $event->getArgument("title"); // Set the title $event->setArgument("title", "custom title"); });
easyseo.render_meta
use Symfony\Contracts\EventDispatcher\Event; $dispatcher->addListener('easyseo.render_meta', function (Event $event) { // will be executed when the easyseo.render_meta event is dispatched // Get SEO data $seoData = $event->getArgument("datas"); // Set SEO data $event->setArgument("datas", $seoData); });
easyseo.breadcrumb
use Symfony\Contracts\EventDispatcher\Event; $dispatcher->addListener('easyseo.breadcrumb', function (Event $event) { // will be executed when the easyseo.breadcrumb event is dispatched // Get breadcrumb's items $items = $event->getArgument("items"); // Set breadcrumb's items $event->setArgument("items", $items); });