Skip to content

πŸ“š ДокумСнтация ΠΏΠ°ΠΊΠ΅Ρ‚Π° bia/page-bundle для управлСния страницами сайта ​

πŸ“‘ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ​

  1. ОписаниС
  2. ВрСбования
  3. Установка
  4. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ
  5. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

ОписаниС ​

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ прСдоставляСт Π½Π°Π±ΠΎΡ€ инструмСнтов для управлСния страницами ΠΈ ΠΈΡ… содСрТимым для bia Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»ΠΈ. ΠŸΠ°ΠΊΠ΅Ρ‚ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ динамичСскиС страницы, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈ шаблонами, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ страниц.

ВрСбования ​

  • PHP: вСрсии 8.1 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • composer ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:
    • bia/admin-bundle: вСрсия dev-master Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
    • doctrine/doctrine-bundle: вСрсия ^2.7
    • symfony-cmf/routing-bundle: вСрсия 3.1.*
    • symfony/framework-bundle: вСрсия 6.4.*
    • symfony/uid: вСрсия 6.2.*

Установка ​

Для установки ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² composer.json:

json
{
  "repositories": [
    {
      "type": "git",
      "url": "https://gitlab.srvdev.ru/bia-cms/bundles/page-bundle.git"
    }
  ]
}

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

bash
$ composer require bia/page-bundle

Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² config/bundles.php вашСго Symfony прилоТСния:

php
return [
    // ...
    Bia\PageBundle\BiaPageBundle::class => ['all' => true],
];

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ​

ПослС установки ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

НСобходимо Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ рСгистрации Π² config/routes.php:

php
$routes->import('@BiaPageBundle/Resources/config/routing.yml');

Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ

bash
php bin/console doctrine:migrations:diff
php bin/console doctrine:migrations:migrate

Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мСню для административных ΠΏΠ°Π½Π΅Π»Π΅ΠΉ страниц, шаблонов, Shared Π±Π»ΠΎΠΊΠΎΠ²:

bash
php bin/console menu:generate

Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΠΎΠ»ΠΈ для административных ΠΏΠ°Π½Π΅Π»Π΅ΠΉ страниц, шаблонов, Shared Π±Π»ΠΎΠΊΠΎΠ²:

bash
php bin/console roles:generate

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ​

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ ​

Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ страницы являСтся вСрсионируСмой (Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ интСрфСйс BaseVersioningEntityInterface), это позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ описаний ΠΈ Π±Π»ΠΎΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ страницу Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ срСды (prod, test).

Π’ настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ для страниц Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» составлСния, копирования, динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π² ΠΊΠΎΠ΄, гСнСрация sitemap.xml Π½Π° основС страниц Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ​

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, которая описываСт области для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ html/css/js доступный для рСдактирования ΠΈΠ· административной ΠΏΠ°Π½Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ позволяСт быстро Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС страниц Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π² ΠΊΠΎΠ΄ прилоТСния.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° шаблона ​

НСобходимо ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ templates.yml ΠΈ Π² массив templates ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, описаниС ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ MockTemplate поставляСмого с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ:

yaml
templates:
  - title: 'MockTemplate'
    description: 'MockTemplate'
    path: '@BiaPage/mock.html.twig'

Благодаря этой манипуляции, шаблон Π±ΡƒΠ΄Π΅Ρ‚ доступСн для Π²Ρ‹Π±ΠΎΡ€Π° Π² административной ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΡ€ΠΈ создании ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ сущности шаблона.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ шаблона ​
html
<html>
<head>
    <title>{{ seo.title }}</title>

    <meta name="description" content="{{ seo.description }}">
    <meta name="keywords" content="{{ seo.keywords }}">

    {{ bia_render_template_head|raw }}

    <style>
        .page-bundle-container .page-bundle-area {
            border: 1px solid #000000;
        }

        {{ bia_render_template_css|raw }}
    </style>
</head>
<body>

{{ bia_render_template_html|raw }}

<script>
    {{ bia_render_template_js|raw }}
</script>

</body>
</html>
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступныС Π² twig шаблонС: ​
  • seo.title - сСо Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ подставляСт ΠΈΠ· ΠΌΠ΅Ρ‚Π°-Π΄Π°Π½Π½Ρ‹Ρ… страницы ΠΈΠ»ΠΈ связного со страницСй Π±Π»ΠΎΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ интСрфСйс BlockSeoInterface
  • bia_render_template_head - содСрТимоС поля head ΠΈΠ· сущности Template. Доступно ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ· административной ΠΏΠ°Π½Π΅Π»ΠΈ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ HTML
  • bia_render_template_css - содСрТимоС поля css ΠΈΠ· сущности Template. Доступно ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ· административной ΠΏΠ°Π½Π΅Π»ΠΈ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ HTML
  • bia_render_template_html - содСрТимоС поля html ΠΈΠ· сущности Template. Доступно ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ· административной ΠΏΠ°Π½Π΅Π»ΠΈ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ HTML
  • bia_render_template_js - содСрТимоС поля js ΠΈΠ· сущности Template. Доступно ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ· административной ΠΏΠ°Π½Π΅Π»ΠΈ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ HTML
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ доступныС Π² twig шаблонС: ​
  • bia_page_render_blocks_area - функция отрисовки Π±Π»ΠΎΠΊΠΎΠ² для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ области для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ страницы. На Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ строку с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ области, которая гСнСрируСтся Π² шаблонС Ρ‡Π΅Ρ€Π΅Π· Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π² административной ΠΏΠ°Π½Π΅Π»ΠΈ.
  • bia_page_render_block - функция отрисовки Π±Π»ΠΎΠΊΠ°, Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ PageBlockDTO
  • getAvailableSites - функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… сайтов (Site[])
  • getCurrentSite - функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ сайт (Site)
  • getCurrentAlias - функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ алиас (Alias)
  • getCurrentPageState - функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС страницы (PageState)
  • isCurrentSiteProduction - функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния являСтся Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ сайт ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½ΠΎΠΌ.

Бписок Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ

BlockMetadata ​

НазначСниС:

Класс BlockMetadata Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ BlockMetadataInterface ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠ°. ΠœΠ΅Ρ‚Π°-Π΄Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠ° содСрТат описаниС, ΠΈΠΊΠΎΠ½ΠΊΡƒ, ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π­Ρ‚Π° информация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для отрисовки Π±Π»ΠΎΠΊΠΎΠ² Π² административной ΠΏΠ°Π½Π΅Π»ΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹:

  • getCode(): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±Π»ΠΎΠΊΠ°.
  • getName(): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя Π±Π»ΠΎΠΊΠ°.
  • getIcon(): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠΊΠΎΠ½ΠΊΡƒ Π±Π»ΠΎΠΊΠ°.
  • getBundle(): Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±Π°Π½Π΄Π» Π±Π»ΠΎΠΊΠ°.
  • jsonSerialize(): сСриализуСт ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² JSON.

BreadcrumbsBlock - класс Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ…Π»Π΅Π±Π½Ρ‹Ρ… ΠΊΡ€ΠΎΡˆΠ΅ΠΊ Π½Π° страницах. Он опрСдСляСт настройки Π±Π»ΠΎΠΊΠ° ΠΈ шаблон для Π΅Π³ΠΎ отобраТСния.

BlockSeoInterface.php ​

BlockSeoInterface - интСрфСйс для Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ SEO-Π΄Π°Π½Π½Ρ‹Π΅. Он опрСдСляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ для получСния SEO-ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π»ΠΎΠΊΠ°.

TextBlock.php ΠΈ HtmlBlock.php ​

Π­Ρ‚ΠΈ классы Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ тСкстовыС ΠΈ HTML Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ тСкстовый ΠΈΠ»ΠΈ HTML ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π° страницы. Они Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΎΡ‚ AbstractBlock ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для настройки ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

AbstractBlock.php ΠΈ TwigBlock.php ​

AbstractBlock - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс для всСх Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства для ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. TwigBlock - позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Twig ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для динамичСского отобраТСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

BlockInterface.php ​

BlockInterface - интСрфСйс для всСх Π±Π»ΠΎΠΊΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ.

PageCRUDController.php ΠΈ SharedBlockCRUDController.php ​

Π­Ρ‚ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ CRUD-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для страниц ΠΈ ΠΎΠ±Ρ‰ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ². Они содСрТат ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для создания, рСдактирования, удалСния ΠΈ отобраТСния страниц ΠΈ Π±Π»ΠΎΠΊΠΎΠ².

BlockCompilerPass.php ​

BlockCompilerPass - класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ добавляСт всС зарСгистрированныС Π±Π»ΠΎΠΊΠΈ Π² BlockAggregator ΠΏΡ€ΠΈ компиляции ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° слуТб Π² Symfony.

TemplateDTO.php, TemplateAreaDTO.php ΠΈ TemplateLayoutDTO.php ​

Π­Ρ‚ΠΈ классы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (DTO), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с шаблонами, областями шаблонов ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ.

PageBlockDTO.php ΠΈ PageSeoDTO.php ​

PageBlockDTO - DTO для Π±Π»ΠΎΠΊΠΎΠ² страниц, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π±Π»ΠΎΠΊΠ΅, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ ID, ΠΊΠΎΠ΄, настройки ΠΈ позиция. PageSeoDTO - DTO для SEO-ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ страницы.

SharedBlock.php ΠΈ Template.php ​

Π­Ρ‚ΠΈ классы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ сущности Doctrine для ΠΎΠ±Ρ‰ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² ΠΈ шаблонов. Они ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

SiteCreationSubscriber.php ​

SiteCreationSubscriber - подписчик событий Doctrine, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски создаСт Π³Π»Π°Π²Π½ΡƒΡŽ страницу для Π½ΠΎΠ²ΠΎΠ³ΠΎ сайта послС Π΅Π³ΠΎ создания.

PageSharedBlock.php ΠΈ PageState.php ​

Π­Ρ‚ΠΈ классы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ сущности для управлСния ΠΎΠ±Ρ‰ΠΈΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ страниц ΠΈ состояниями страниц. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для поддСрТания вСрсионности ΠΈ управлСния состояниями страниц.

Page.php ​

Page - ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ страницу, с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ для управлСния Π΅Ρ‘ свойствами ΠΈ состояниями.

BlockEditFormType.php ΠΈ BlockCreateFormType.php ​

Π­Ρ‚ΠΈ классы ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ для создания ΠΈ рСдактирования Π±Π»ΠΎΠΊΠΎΠ². Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ FormMapper для настройки ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

BiaCodeEditorType.php ΠΈ BiaTemplateGridType.php ​

Π­Ρ‚ΠΈ классы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ‚ΠΈΠΏΡ‹ Ρ„ΠΎΡ€ΠΌ для рСдактирования ΠΊΠΎΠ΄Π° ΠΈ сСток шаблонов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π°Π΄ΠΌΠΈΠ½-интСрфСйсС.

PageRouter.php ​

PageRouter - рСализация интСрфСйса RouterInterface, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ страниц Π½Π° основС ΠΈΡ… состояний ΠΈ URL.

BlockDebugHelper.php ​

BlockDebugHelper - ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½Ρ‹ΠΉ класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π±Π»ΠΎΠΊΠΎΠ², прСдоставляя ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

BlockAggregator.php ΠΈ BlockResolver.php ​

BlockAggregator - класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ собираСт зарСгистрированныС Π±Π»ΠΎΠΊΠΈ ΠΈ прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΈΡ… получСния. BlockResolver - класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈ ΠΏΠΎ ΠΈΡ… ΠΊΠΎΠ΄Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ слуТб.

BlockProcessor.php ΠΈ PageComposeHelper.php ​

Π­Ρ‚ΠΈ классы ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π±Π»ΠΎΠΊΠΎΠ² ΠΈ управлСния ΠΈΡ… порядком ΠΈ состояниСм Π½Π° страницС.

PageProcessor.php ΠΈ TemplateProcessor.php ​

PageProcessor - класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ состояниСм страницы ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ Π΅Ρ‘ Ρ‡Π΅Ρ€Π΅Π· TemplateProcessor, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ шаблонов с использованиСм Twig.

TemplateAggregator.php ΠΈ GlobalVariables.php ​

TemplateAggregator - класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ шаблонов ΠΈ прСдоставляСт ΠΈΡ… для использования Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. GlobalVariables - класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для использования Π² Twig ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ….

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ​

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты для управлСния страницами ΠΈ ΠΈΡ… содСрТимым Π² Symfony прилоТСниях. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСдоставлСнныС классы ΠΈ сСрвисы для создания Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹Ρ… ΠΈ Π³ΠΈΠ±ΠΊΠΈΡ… страниц, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π°Π΄ΠΌΠΈΠ½-интСрфСйс.