mirror of
https://github.com/symfony/recipes-contrib.git
synced 2026-09-11 15:16:55 +03:00
Change SonataPageBundle entities (#1809)
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user