Change SonataPageBundle entities (#1809)

This commit is contained in:
Erison Silva
2025-09-22 07:37:33 +02:00
committed by GitHub
parent e7dc2a8d35
commit c961a3509c
9 changed files with 173 additions and 2 deletions
@@ -1,12 +1,12 @@
* Your Page is almost ready: * Your Page is almost ready:
1. Generate a migration for Sonata Page Database <info>php bin/console doctrine:migrations:diff</info> 1. Generate a migration for Sonata Page Database <info>bin/console doctrine:migrations:diff</info>
<comment> <comment>
If you use Doctrine Attribute Reference, You must change Sonata Entities generated in Entity folder. If you use Doctrine Attribute Reference, You must change Sonata Entities generated in Entity folder.
You can check more details at https://www.doctrine-project.org/projects/doctrine-orm/en/current/reference/attributes-reference.html You can check more details at https://www.doctrine-project.org/projects/doctrine-orm/en/current/reference/attributes-reference.html
You can also use Rector to refactor, check more details at https://getrector.org/blog/how-to-upgrade-annotations-to-attributes You can also use Rector to refactor, check more details at https://getrector.org/blog/how-to-upgrade-annotations-to-attributes
</comment> </comment>
2. Apply the migration generated <info>php bin/console doctrine:migrations:migrate --no-interaction</info> 2. Apply the migration generated <info>bin/console doctrine:migrations:migrate --no-interaction</info>
3. Create your first site: <info>bin/console sonata:page:create-site --enabled --name=localhost --locale=- --host=localhost --relativePath=- --enabledFrom=now --enabledTo=- --default</info> 3. Create your first site: <info>bin/console sonata:page:create-site --enabled --name=localhost --locale=- --host=localhost --relativePath=- --enabledFrom=now --enabledTo=- --default</info>
<comment>After you generate your site, You will see few commands to execute to have your Site ready.</comment> <comment>After you generate your site, You will see few commands to execute to have your Site ready.</comment>
@@ -0,0 +1,76 @@
sonata_block:
default_contexts: [sonata_page_bundle]
sonata_admin:
assets:
extra_javascripts:
- bundles/sonatapage/app.js
extra_stylesheets:
- bundles/sonatapage/app.css
# https://docs.sonata-project.org/projects/SonataPageBundle/en/4.x/reference/advanced_configuration/
sonata_page:
multisite: host
use_streamed_response: false
router_auto_register:
enabled: true
priority: 150
ignore_route_patterns:
- ^(.*)admin(.*) # ignore admin route, ie route containing 'admin'
- ^_(.*) # ignore symfony routes
ignore_routes:
- sonata_page_cache_esi
- sonata_page_cache_ssi
- sonata_page_js_sync_cache
- sonata_page_js_async_cache
- sonata_cache_esi
- sonata_cache_ssi
- sonata_cache_js_async
- sonata_cache_js_sync
- sonata_cache_apc
ignore_uri_patterns:
- ^/admin\/ # ignore admin route, ie route containing 'admin'
#https://docs.sonata-project.org/projects/SonataPageBundle/en/4.x/reference/page_composer/
default_template: default
templates:
default:
path: '@SonataPage/layout.html.twig'
name: 'default'
containers:
header:
name: Header
content_top:
name: Top content
content:
name: Main content
content_bottom:
name: Bottom content
footer:
name: Footer
matrix:
layout: |
HHHHHHHH
HHHHHHHH
TTTTTTTT
TTTTTTTT
CCCCCCCC
CCCCCCCC
BBBBBBBB
BBBBBBBB
FFFFFFFF
FFFFFFFF
mapping:
H: header
T: content_top
C: content
B: content_bottom
F: footer
direct_publication: '%kernel.debug%'
catch_exceptions:
not_found: [404] # render 404 page with "not_found" key (name generated: _page_internal_error_{key})
fatal: [500] # so you can use the same page for different http errors or specify specific page for each error
@@ -0,0 +1,3 @@
sonata_page_exceptions:
resource: '@SonataPageBundle/Resources/config/routing/exceptions.xml'
prefix: /
@@ -0,0 +1,9 @@
{
"bundles": {
"Sonata\\PageBundle\\SonataPageBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/",
"src/": "%SRC_DIR%/"
}
}
@@ -0,0 +1,7 @@
* Your Page is almost ready:
1. Generate a migration for Sonata Page Database <info>php bin/console doctrine:migrations:diff</info>
2. Apply the migration generated <info>php bin/console doctrine:migrations:migrate --no-interaction</info>
3. Create your first site: <info>bin/console sonata:page:create-site --enabled --name=localhost --locale=- --host=localhost --relativePath=- --enabledFrom=now --enabledTo=- --default</info>
<comment>Now you can create your first page at <info>/admin</info></comment>
* <fg=blue>Documentation</> <comment>https://docs.sonata-project.org/projects/SonataPageBundle/en/4.x/</comment>
@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Sonata\PageBundle\Entity\BaseBlock;
#[ORM\Entity]
#[ORM\Table(name: 'page__block')]
class SonataPageBlock extends BaseBlock
{
#[ORM\Id]
#[ORM\Column(type: Types::INTEGER)]
#[ORM\GeneratedValue]
protected $id;
}
@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Sonata\PageBundle\Entity\BasePage;
#[ORM\Entity]
#[ORM\Table(name: 'page__page')]
class SonataPagePage extends BasePage
{
#[ORM\Id]
#[ORM\Column(type: Types::INTEGER)]
#[ORM\GeneratedValue]
protected $id;
}
@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Sonata\PageBundle\Entity\BaseSite;
#[ORM\Entity]
#[ORM\Table(name: 'page__site')]
class SonataPageSite extends BaseSite
{
#[ORM\Id]
#[ORM\Column(type: Types::INTEGER)]
#[ORM\GeneratedValue]
protected $id;
}
@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Sonata\PageBundle\Entity\BaseSnapshot;
#[ORM\Entity]
#[ORM\Table(name: 'page__snapshot')]
class SonataPageSnapshot extends BaseSnapshot
{
#[ORM\Id]
#[ORM\Column(type: Types::INTEGER)]
#[ORM\GeneratedValue]
protected $id;
}