CompoEcommerce¶
CompoEcommerce a set of e-commerce bundles. Based on CompoCore.
- 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.
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.

Architecture¶
As you can see, the admin panel is very empty.
Basket¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Catalog¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Country¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Currency¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Customer¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Delivery¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Discount¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Ecommerce¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Features¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
GoogleMerchant¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Manufacture¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Order¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Payment¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Product¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
PromoCode¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Promotion¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Service¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Supplier¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Synchronization - Синхронизация¶
Модуль предназначен для синхронизации каталога товаров из различных источников, например из прайс-листов поставщиков.
Выполняется обновление цен, наличия, характеристик. Заполнение отсутствующих данных артикул, производитель, коллекция, изображения. Или исправление неверно указанных.
Возможно, авто-создание товаров. В ручном или полуавтоматическом режиме.
Настройка ценообразования.
Сопоставление товаров по названию, артикулу.
Формирование названия товара по шаблону.
Сопоставление и преобразования характеристик в необходимый формат.
Источники¶
Допустимые форматы файла источника:
- XML (YML)
- XSL/XSLX
- CSV
Возможна загрузка по по ссылке, для регулярной синхронизации раз в сутки. Либо вручную, загружать файл.
Источником может быть XML файл, например выгрузка из 1C или в формате YML, или табличный Excel/CSV.
Процесс¶
Общий процесс обработки источников, выглядит следующим образом:
- Добавление источника.
- Настройка источника.
- Анализ источника.
- Сопоставление данных.
- Импорт.
В последствии, если формат прайс-листа меняется, необходимо корректировать настройки.
Если появляются новые характеристики, необходимо их сопоставлять.
Нет необходимости сопоставлять все данные сразу, это можно сделать позже.
Если каталог товаров уже существует, то не стоит включать авто-создание сразу. Так как, в случае если не удалось сопоставить товары с существующими, возможно создание дублей.
Список источников¶

Добавление источника¶

Название
Название источника
Включено
Если включить, то будет выполняться регулярная синхронизация источника по расписанию.
Тестовый
Если включить, то при синхронизации ничего не произойдёт, только появятся результаты/лог импорта, выполненых действий.
Поставщик
Если указан, то обновлённым/созданным товарам, будет добавлен указанный поставщик.
Тип
Формат файла-источника:
- XML (YML)
- XSL
- XSLX
- CSV
Кодировка
Кодировка файла-источника:
- utf-8
- cp1251
URL
Ссылка на файл-источника. Приоритетней вручную загруженного файла.
Файл
Вручную загруженный файл.
Настройка источника¶
Настройка элементов¶
В случае табличных данных, необходимо настроить только товары.
В случае табличных данных, путь для элементов, где создержится значение, указывается номер (или A,B,C,D…) столбца.
В случае XML, необходимо указать путь для элемента, селектор в jQueryLite (к примеру groupProduct[name="01 Плитка"] collection_list collection
, weight_list weight:nth-of-type(1)
).
Если значение берётся из атрибута, указать имя атрибута.
Для некоторых элементов, можно указать Значение
.
Например, для прайс-листа, с товарами, принадлежащему одному производителю, в производителе можно указать название производителя в поле Значение
Для случае XML, доступна опция Массив
. Если её указать, то элемент будет обработкан как массив, и в результате будет несколько значений.
Например, получить несколько изображений для коллекций, images image
:
...
<collection>
<item id="1">
<name>Артика</name>
<images>
<image>http://....1</image>
<image>http://....2</image>
</images>
</item>
<item id="2">
<name>Пикселька</name>
<images>
<image>http://....1</image>
<image>http://....2</image>
<image>http://....3</image>
</images>
</item>
</country>
...
Для некоторых элементов, доступны фильтры:
- Заменить
Необходимо указать, Что заменить
и На что заменить
.
В значении Что заменить
можно использовать регулярные выражения. Например шт.
, снято с производства
.
В значении На что заменить
можно ничего не указывать.
- Извлечь
Необходимо указать, Регулярное выражение
, что будет извлечено в результате.
Например /.*(\d+) шт.*/i
, /1 шт. - ([0-9\.\,]+) кг.*/i
, /([0-9\.\,]+)[xх].*/i
Возможно использование нескольких фильтров.
Разделитель
Для некоторых элементов, доступно указание разделителя. В этом случае, значение будет разбито в массив значений, по указанному разделителю.
Например, когда Цвет
: красный, белый
указан через запятую ,
.
Страны¶
Создавать автоматически
В случае, если в прайс-листе передаются страны, для товаров/коллекций/производителей. И страны не были сопоставлены автоматически по названию, то при импорте, страны будут создаваться автоматически.
Путь к элементам
В случае если формат источника XML, и страны передаются в отдельных элементах, необходимо указать путь в jQueryLite, до этих элементах, например country item
Для следующего XML:
...
<country>
<item id="1">
Россия
</item>
<item id="2">
Италия
</item>
</country>
...
ID
Уникальный идентификатор страны. Если не указан, будет сформирован автоматически, из названия.
Название
Название страны.
Производители¶
Создавать автоматически
В случае, если в прайс-листе передаются производители, для товаров/коллекций. И производители не были сопоставлены автоматически по названию, то при импорте, производители будут создаваться автоматически.
Путь к элементам
В случай формата XML, необходимо указать путь к элементам. Например: groupProduct[name="01 Плитка"] collection_list collection
ID
Уникальный идентификатор производителя. Если не указан, будет сформирован автоматически, из названия.
Название
Название производителя.
Страна
Название или ID страны (для связи).
Описание
Описание производителя.
Изображения
Изображения производителя.
Сайт
Сайт производителя.
URL
URL производителя, на источнике.
Коллекции¶
Создавать автоматически
В случае, если в прайс-листе передаются коллекции. И коллекции не были сопоставлены автоматически по названию, то при импорте, коллекции будут создаваться автоматически.
Путь к элементам
В случай формата XML, необходимо указать путь к элементам. Например: groupProduct[name="01 Плитка"] collection_list collection
ID
Уникальный идентификатор коллекции. Если не указан, будет сформирован автоматически, из названия производителя и коллекции.
Название
Название коллекции.
Описание
Описание коллекции.
Страна
Название или ID страны (для связи).
Производитель
Название или ID производителя (для связи).
Изображения
Изображения коллекции.
URL
URL коллекции, на источнике.
Категории¶
Создавать автоматически
Если, категории не были сопоставлены автоматически, то при импорте, категории будут создаваться автоматически.
Путь к элементам
В случай формата XML, необходимо указать путь к элементам. Например: groupProduct[name="01 Плитка"] element_list element
ID
Уникальный идентификатор категории. Если название уникально, можно указать путь/столбец с названием.
Название
Название категории.
Описание
Описание категории.
URL
URL категории, на источнике.
Товары¶
Создавать автоматически
Если, товары не были сопоставлены автоматически, то при импорте, товары будут создаваться автоматически.
Путь к элементам
В случай формата XML, необходимо указать путь к элементам. Например: groupProduct[name="01 Плитка"] element_list element
ID
Уникальный идентификатор товара. Если название уникально, можно указать путь/столбец с названием.
Название
Название товара.
Описание
Описание товара.
Категория
Название или ID категории, для связи. Если отсутствует, можно указать значение/название.
Страна
Название или ID страны, для связи. Если отсутствует, можно указать значение/название.
Производитель
Название или ID производителя, для связи. Если отсутствует, можно указать значение/название.
Коллекция
Название или ID коллекции, для связи. Если отсутствует, можно указать значение/название.
Модель
Название модели товара.
Артикул
Артикул товара.
Кол-во
Колличество товара на скаладе.
Валюта
Валюта товара. Если отсутствует, можно указать значение/название.
Цена
Цена товара, которая будет использована на сайте.
Цена без скидки
Цена товара без скидки, старая цена.
Рекомендованя Розничная Цена
РРЦ товара.
Закупочная цена
Закупочная цена товара.
Единица измерения товара
Единица измерения товара. Если отсутствует, можно с помощью фильтров, вырезать из названия.
Базовая единица измерения товара
Базовая единица измерения товара. В случае, когда передаётся, и товар продаётся упкаковками/метрами…
Кол-во за единицу товара
Кол-во за единицу товара. В случае, когда передаётся, и товар продаётся упкаковками/метрами. Например, по 100 шт. в коробке.
Наличие
Наличие товара. Если отсутствует, можно с помощью фильтров, вырезать из названия.
Продажа только в комплекте
Товар продается только в составе комплекта.
Срок доставки
Срок доставки товара.
Изображения
Изображения товара.
Файлы
Файлы товара.
URL
URL товара, на источнике.
Характеристики¶
Характеристики товара, если они уже известны.
Необходимо выбрать характеристику. Указать путь. Настроить.
Для автоматического извлечения характеристик товара.
Создавать автоматически
Если, характеристики не были сопоставлены автоматически, то при импорте, характеристики будут создаваться автоматически.
Путь к элементам
В случай формата XML, необходимо указать путь к элементам, относительно товара. Например: features item
Нзвание
Нзвание характеристики.
Единица измерения
Единица измерения характеристики.
Группа
Группа характеристики.
Тип
Тип характеристики.
Значение
Значение характеристики.
Состав поставки¶
Путь к элементам
В случай формата XML, необходимо указать путь к элементам, относительно товара. Например: features item
Название
Кол-во
Единица измерения
Составляющие комплекта¶
Путь к элементам
В случай формата XML, необходимо указать путь к элементам, относительно товара. Например: features item
ID
URL
Название
Обязательный
По умолчанию
Вариант
Дополнительные товары¶
Путь к элементам
В случай формата XML, необходимо указать путь к элементам, относительно товара. Например: features item
ID
URL
Название
Вариант
Варианты исполнения¶
Путь к элементам
В случай формата XML, необходимо указать путь к элементам, относительно товара. Например: features item
ID
URL
Название
Действия¶
Sample content.
Анализ¶
Сопоставление¶
Страны¶
Sample content.
Производители¶
Sample content.
Коллекции¶
Sample content.
Категории¶
Sample content.
Товары¶
Sample content.
Единицы измерения¶
Sample content.
Наличие¶
Sample content.
Характеристики¶
Sample content.
Импорт¶
Результаты импорта¶
Tagging¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
Unit¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords
YandexMarket¶
Элемент списка преимуществ, имеет следующие поля:
- Включить/Выключить
- Название
- Описание
- Текст
- Кол-во просмотров
- Дата публикации
- Изображение
- 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
Block¶
{{ sonata_block_render({
'type': 'compo_articles.block.service.articles_last',
'settings': {
'limit': 5
}
}) }}

Permalink¶
#TODO
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
Breadcrumb¶
Генерация хлебных крошек из названия статьи.
Settings¶
Кол-во статей на страницу при постраничной навигации на сайте.
Sitemaps¶
Генерация Sitemaps со списком статей раз в сутки.
Templates¶
- Articles/index.html.twig
- Articles/show.html.twig
- Block/articles_last.html.twig
Seo¶
- URL
- Заголовок
- Title
- Description
- Keywords