CompoCore

CompoCore a set of basic bundles CompoCymfonyCms. Based on Symfony, Sonata.

  • CompoDocs: main documentation.
  • CompoCore: contains core libraries, services and bundles.
  • CompoEcommerce: contains e-commerce bundles

Demo

Requirements

As you can see, the admin panel is very empty. This is because no bundle has provided admin functionality for the admin bundle yet. Fortunately, you’ll learn how to do this in the next chapter.

Installation

CompoCoreBundle is just a bundle and as such, you can install it at any moment during a project’s lifecycle.

Download the Bundle

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

$ composer require sonata-project/admin-bundle

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Enable the Bundle

Then, enable the bundle and the bundles it relies on by adding the following line in bundles.php file of your project:

<?php

// config/bundles.php

return [
    //...
    Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
    Sonata\CoreBundle\SonataCoreBundle::class => ['all' => true],
    Sonata\BlockBundle\SonataBlockBundle::class => ['all' => true],
    Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
    Sonata\AdminBundle\SonataAdminBundle::class => ['all' => true],
    Compo\CoreBundle\CompoCoreBundle::class => ['all' => true],
];

Note

If you are not using Symfony Flex, you should enable bundles in your AppKernel.php.

// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...

            // The admin requires some twig functions defined in the security
            // bundle, like is_granted. Register this bundle if it wasn't the case
            // already.
            new Symfony\Bundle\SecurityBundle\SecurityBundle(),

            // These are the other bundles the SonataAdminBundle relies on
            new Sonata\CoreBundle\SonataCoreBundle(),
            new Sonata\BlockBundle\SonataBlockBundle(),
            new Knp\Bundle\MenuBundle\KnpMenuBundle(),

            // And finally
            new Sonata\AdminBundle\SonataAdminBundle(),
            new Compo\CoreBundle\CompoCoreBundle(),
        ];

        // ...
    }

    // ...
}

Note

If a bundle is already registered, you should not register it again.

Preparing your Environment

As with all bundles you install, it’s a good practice to clear the cache and install the assets:

$ bin/console cache:clear
$ bin/console assets:install

The Admin Interface

You’ve finished the installation process, congratulations. If you fire up the server, you can now visit the admin page on http://localhost:8000/admin

Note

This tutorial assumes you are using the build-in server using the bin/console server:start (or server:run) command.

Sonata Dashboard :width: 700px

Architecture

As you can see, the admin panel is very empty.

Advantages - Приемущества

Позволяет создавать списки приемуществ, для краткой информации о особенностях, сервисах магазина или другой полезной для покупателя информации.

Размещать на страницах сайта, в модальных окнах, уведомлениях и письмах.

Возможность вывода в различных шаблонах.

Можно использовать изображения, иконки.

Отображаются только включённые элементы списка приемуществ.

Возможна сортировка элементов по позиции.

Панель управления

  • Список
_images/list.png
  • Редактирование
_images/item_edit.png

Блоки

{{ sonata_block_render({
    'type': 'compo_advantages.block.service.advantages',
    'settings': {
        'id': 123,
        'template': 'CompoAdvantagesBundle:Block:advantages.html.twig'
    }
}) }}
_images/block.png
_images/block_edit.png

Шаблоны

sonata_block:
    blocks:
        compo_advantages.block.service.advantages:
            cache: sonata.cache.memcached
            contexts: [sonata_page_bundle]
            templates:
                - { name: 'advantages.template.simple', template: 'CompoAdvantagesBundle:Block:advantages_simple.html.twig' }

Articles - Статьи

“Статьи” предназначены для управления сайте различными информационными материалами.

Статьи могут содержать произвольный текст, картинки, ссылки, таблицы, видео и другие объекты.

Для более удобной работы со статьями используется встроенный визуальный редактор, который позволяет с легкостью, как и в MS Word, редактировать содержимое статьи.

Статья, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией.

Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Имеется блок, для отображения последних опубликованных статей.

Панель управления

  • Список

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Редактирование
_images/edit.png

Блоки

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
        'template': 'CompoArticlesBundle:Block:articles_last.html.twig'
    }
}) }}
_images/block1.png
_images/block_edit1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET
_images/index.png
compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET
_images/show.png

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig
sonata_block:
    blocks:
        compo_articles.block.service.articles_last:
            cache: sonata.cache.memcached
            contexts: [sonata_page_bundle]
            templates:
                - { name: 'articles.template.articles_last.custom', template: 'CompoArticlesBundle:Block:articles_last_custom.html.twig' }

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

Contacts - Контакты

Управление контактной информацией на сайте.

Панель управления

  • Список
_images/list3.png
  • Редактирование
_images/edit2.png

Блоки

{{ sonata_block_render({
    'type': 'compo_contacts.block.service.contacts_main',
    'settings': {
        'template': 'CompoContactsBundle:Block:contacts_main.html.twig'
    }
}) }}
_images/block3.png

Core

Элемент списка преимуществ, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией. Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Install

  • Add CompoArticlesBundle to your AppKernel:
<?php

// app/AppKernel.php

// ...
public function registerBundles()
{
    return array(
        // ...
        new \Compo\ArticlesBundle\CompoArticlesBundle(),
        // ...
    );
}
  • Add compo_articles.admin.articles to sonata_admin:
sonata_admin:
    dashboard:
        groups:
            sonata.admin.group.site_builder:
                label:           site
                label_catalogue: CompoCoreBundle
                icon:            '<i class="fa fa-puzzle-piece"></i>'
                items:
                    - compo_articles.admin.articles
  • Add CompoArticlesBundle routes to your application routing.yml:
# app/config/routing.yml

articles:
    resource: '@CompoArticlesBundle/Resources/config/routing.yml'
    prefix: /articles
  • Update database schema by running command php app/console doctrine:schema:update --force

Admin

  • List

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Edit
_images/edit.png

Block

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
    }
}) }}
_images/block1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET

compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

Faq - Вопрос-ответ

Модуль “Вопрос-ответ” предназначен для оказания консультативной поддержки и гибкого управления вопросами посетителей сайта.

Вопрос-ответ, имеет следующие поля:

  • Включить/Выключить
  • Название - Вопрос
  • Описание
  • Текст - Ответ
  • Автор вопроса
  • E-mail автора вопроса
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список вопросов с постраничной навигацией.

Отображаются только включённые вопросы и с датой публикации меньше текущей даты.

Имеется блок, для отображения последних опубликованных вопросов.

Панель управления

  • Список

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list4.png
  • Редактирование
_images/edit3.png

Блоки

{{ sonata_block_render({
    'type': 'compo_faq.block.service.faq_last',
    'settings': {
        'limit': 5
        'template': 'CompoFaqBundle:Block:faq_last.html.twig'
    }
}) }}
_images/block4.png

Controller

compo_faq_index:
    path:     /faq/
    defaults: { _controller: "CompoFaqBundle:Faq:index" }
    methods:  GET

compo_faq_show_by_slug:
    path:     /faq/{slug}.html
    defaults: { _controller: "CompoFaqBundle:Faq:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во вопросов на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком вопросов раз в сутки.

Templates

  • Faq/index.html.twig
  • Faq/show.html.twig
  • Block/faq_last.html.twig
sonata_block:
    blocks:
        compo_faq.block.service.faq_last:
            cache: sonata.cache.memcached
            contexts: [sonata_page_bundle]
            templates:
                - { name: 'faq.template.faq.custom', template: 'CompoFaqBundle:Block:faq_last_custom.html.twig' }

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

Feedback - Обратная связь

Модуль позволяет пользователям оставлять сообщения на сайте и отвечать отправителям в административной части модуля.

Поступившим сообщениям, можно присваивать метки.

Панель управления

  • Список
_images/list5.png
  • Редактирование
_images/edit4.png

Блоки

{{ sonata_block_render({
    'type': 'compo_feedback.block.service.feedback_main',
    'settings': {
        'template': 'CompoFeedbackBundle:Block:feedback_main.html.twig'
    }
}) }}
_images/block5.png

Import

Элемент списка преимуществ, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией. Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Install

  • Add CompoArticlesBundle to your AppKernel:
<?php

// app/AppKernel.php

// ...
public function registerBundles()
{
    return array(
        // ...
        new \Compo\ArticlesBundle\CompoArticlesBundle(),
        // ...
    );
}
  • Add compo_articles.admin.articles to sonata_admin:
sonata_admin:
    dashboard:
        groups:
            sonata.admin.group.site_builder:
                label:           site
                label_catalogue: CompoCoreBundle
                icon:            '<i class="fa fa-puzzle-piece"></i>'
                items:
                    - compo_articles.admin.articles
  • Add CompoArticlesBundle routes to your application routing.yml:
# app/config/routing.yml

articles:
    resource: '@CompoArticlesBundle/Resources/config/routing.yml'
    prefix: /articles
  • Update database schema by running command php app/console doctrine:schema:update --force

Admin

  • List

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Edit
_images/edit.png

Block

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
    }
}) }}
_images/block1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET

compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

News

Элемент списка преимуществ, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией. Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Install

  • Add CompoArticlesBundle to your AppKernel:
<?php

// app/AppKernel.php

// ...
public function registerBundles()
{
    return array(
        // ...
        new \Compo\ArticlesBundle\CompoArticlesBundle(),
        // ...
    );
}
  • Add compo_articles.admin.articles to sonata_admin:
sonata_admin:
    dashboard:
        groups:
            sonata.admin.group.site_builder:
                label:           site
                label_catalogue: CompoCoreBundle
                icon:            '<i class="fa fa-puzzle-piece"></i>'
                items:
                    - compo_articles.admin.articles
  • Add CompoArticlesBundle routes to your application routing.yml:
# app/config/routing.yml

articles:
    resource: '@CompoArticlesBundle/Resources/config/routing.yml'
    prefix: /articles
  • Update database schema by running command php app/console doctrine:schema:update --force

Admin

  • List

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Edit
_images/edit.png

Block

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
    }
}) }}
_images/block1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET

compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

Notification

Элемент списка преимуществ, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией. Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Install

  • Add CompoArticlesBundle to your AppKernel:
<?php

// app/AppKernel.php

// ...
public function registerBundles()
{
    return array(
        // ...
        new \Compo\ArticlesBundle\CompoArticlesBundle(),
        // ...
    );
}
  • Add compo_articles.admin.articles to sonata_admin:
sonata_admin:
    dashboard:
        groups:
            sonata.admin.group.site_builder:
                label:           site
                label_catalogue: CompoCoreBundle
                icon:            '<i class="fa fa-puzzle-piece"></i>'
                items:
                    - compo_articles.admin.articles
  • Add CompoArticlesBundle routes to your application routing.yml:
# app/config/routing.yml

articles:
    resource: '@CompoArticlesBundle/Resources/config/routing.yml'
    prefix: /articles
  • Update database schema by running command php app/console doctrine:schema:update --force

Admin

  • List

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Edit
_images/edit.png

Block

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
    }
}) }}
_images/block1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET

compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

PageCode

Элемент списка преимуществ, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией. Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Install

  • Add CompoArticlesBundle to your AppKernel:
<?php

// app/AppKernel.php

// ...
public function registerBundles()
{
    return array(
        // ...
        new \Compo\ArticlesBundle\CompoArticlesBundle(),
        // ...
    );
}
  • Add compo_articles.admin.articles to sonata_admin:
sonata_admin:
    dashboard:
        groups:
            sonata.admin.group.site_builder:
                label:           site
                label_catalogue: CompoCoreBundle
                icon:            '<i class="fa fa-puzzle-piece"></i>'
                items:
                    - compo_articles.admin.articles
  • Add CompoArticlesBundle routes to your application routing.yml:
# app/config/routing.yml

articles:
    resource: '@CompoArticlesBundle/Resources/config/routing.yml'
    prefix: /articles
  • Update database schema by running command php app/console doctrine:schema:update --force

Admin

  • List

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Edit
_images/edit.png

Block

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
    }
}) }}
_images/block1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET

compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

Redirect

Элемент списка преимуществ, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией. Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Install

  • Add CompoArticlesBundle to your AppKernel:
<?php

// app/AppKernel.php

// ...
public function registerBundles()
{
    return array(
        // ...
        new \Compo\ArticlesBundle\CompoArticlesBundle(),
        // ...
    );
}
  • Add compo_articles.admin.articles to sonata_admin:
sonata_admin:
    dashboard:
        groups:
            sonata.admin.group.site_builder:
                label:           site
                label_catalogue: CompoCoreBundle
                icon:            '<i class="fa fa-puzzle-piece"></i>'
                items:
                    - compo_articles.admin.articles
  • Add CompoArticlesBundle routes to your application routing.yml:
# app/config/routing.yml

articles:
    resource: '@CompoArticlesBundle/Resources/config/routing.yml'
    prefix: /articles
  • Update database schema by running command php app/console doctrine:schema:update --force

Admin

  • List

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Edit
_images/edit.png

Block

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
    }
}) }}
_images/block1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET

compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

Seo

Элемент списка преимуществ, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией. Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Install

  • Add CompoArticlesBundle to your AppKernel:
<?php

// app/AppKernel.php

// ...
public function registerBundles()
{
    return array(
        // ...
        new \Compo\ArticlesBundle\CompoArticlesBundle(),
        // ...
    );
}
  • Add compo_articles.admin.articles to sonata_admin:
sonata_admin:
    dashboard:
        groups:
            sonata.admin.group.site_builder:
                label:           site
                label_catalogue: CompoCoreBundle
                icon:            '<i class="fa fa-puzzle-piece"></i>'
                items:
                    - compo_articles.admin.articles
  • Add CompoArticlesBundle routes to your application routing.yml:
# app/config/routing.yml

articles:
    resource: '@CompoArticlesBundle/Resources/config/routing.yml'
    prefix: /articles
  • Update database schema by running command php app/console doctrine:schema:update --force

Admin

  • List

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Edit
_images/edit.png

Block

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
    }
}) }}
_images/block1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET

compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords

Social

Элемент списка преимуществ, имеет следующие поля:

  • Включить/Выключить
  • Название
  • Описание
  • Текст
  • Кол-во просмотров
  • Дата публикации
  • Изображение
  • Seo настройки

На сайте выводятся список статей с постраничной навигацией. Отображаются только включённые статьи и с датой публикации меньше текущей даты.

Install

  • Add CompoArticlesBundle to your AppKernel:
<?php

// app/AppKernel.php

// ...
public function registerBundles()
{
    return array(
        // ...
        new \Compo\ArticlesBundle\CompoArticlesBundle(),
        // ...
    );
}
  • Add compo_articles.admin.articles to sonata_admin:
sonata_admin:
    dashboard:
        groups:
            sonata.admin.group.site_builder:
                label:           site
                label_catalogue: CompoCoreBundle
                icon:            '<i class="fa fa-puzzle-piece"></i>'
                items:
                    - compo_articles.admin.articles
  • Add CompoArticlesBundle routes to your application routing.yml:
# app/config/routing.yml

articles:
    resource: '@CompoArticlesBundle/Resources/config/routing.yml'
    prefix: /articles
  • Update database schema by running command php app/console doctrine:schema:update --force

Admin

  • List

По умолчанию отсортировано по дате публикации, по убыванию.

_images/list1.png
  • Edit
_images/edit.png

Block

{{ sonata_block_render({
    'type': 'compo_articles.block.service.articles_last',
    'settings': {
        'limit': 5
    }
}) }}
_images/block1.png

Controller

compo_articles_index:
    path:     /articles/
    defaults: { _controller: "CompoArticlesBundle:Articles:index" }
    methods:  GET

compo_articles_show_by_slug:
    path:     /articles/{slug}.html
    defaults: { _controller: "CompoArticlesBundle:Articles:showBySlug" }
    methods:  GET

AdminNavBar

При просмотре на сайте списка статей или статьи, доступна панель администратора, для быстрого доступа к редактированию.

Settings

Кол-во статей на страницу при постраничной навигации на сайте.

Sitemaps

Генерация Sitemaps со списком статей раз в сутки.

Templates

  • Articles/index.html.twig
  • Articles/show.html.twig
  • Block/articles_last.html.twig

Seo

  • URL
  • Заголовок
  • Title
  • Description
  • Keywords