Global navigation

   Documentation Center
   eZ Studio & eZ Platform
     User Manual
     Technical Manual
     Glossary
   eZ Publish 4.x / legacy

 
eZ Publish (5.x)

eZ Publish 5.x | For eZ Platform & eZ Studio topics see Technical manual and User manual, for eZ Publish 4.x and Legacy topics see eZ Publish legacy

Skip to end of metadata
Go to start of metadata

The following recipe is valid for any type of settings supported by Symfony framework.

 

Use case

Usually, you develop your website using one or several custom bundles as this is a best practice. However, dealing with core bundles semantic configuration can be a bit tedious if you maintain it in the main ezpublish/config/ezpublish.yml configuration file.

This recipe will show you how to import configuration from a bundle the manual way and the implicit way.

The manual way

This is the simplest way of doing and it has the advantage to be explicit. The idea is to use the imports statement in your main ezpublish.yml:

ezpublish/config/ezpublish.yml
templates_rules.yml, placed under Resources/config folder in AcmeTestBundle

During the merge process, if the imported configuration files contain entries that are already defined in the main configuration file, they will override them.

Tip

If you want to import configuration for development use only, you can do so in your ezpublish_dev.yml (wink)

The implicit way

Compatible with eZ Publish 5.1+ / Symfony 2.2+ as it uses Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface which is available as of Symfony 2.2 (more info on Symfony cookbook).

The following example will show you how to implicitly load settings to be configure eZ Publish kernel. Note that this is also valid for any bundle !

We assume here that you're aware of service container extensions.

Acme/TestBundle/DependencyInjection/AcmeTestExtension
AcmeTestBundle/Resources/config/template_rules.yml


Regarding performance

Service container extensions are called only when the container is being compiled, so there is nothing to worry about regarding performance.

Configuration loaded this way will be overridden by the main ezpublish.yml file.

 

 

4 Comments

  1. If I have 20 siteaccesses, one for each language, do I have to define the rules 20 times in the templates_rules.yml?

  2. No, you can simply create a group with the 20 siteaccesses and add the general definitions to the group

  3. Hi, regarding your warning about clearing the cache, i noticed in the eZ Publish Demo Bundle that they are adding another line which after my test relieves you from clearing the cache

    Code snippet

    link to the Dependency Injection Extension of eZ Publish Demo Bundle:
    https://github.com/ezsystems/DemoBundle/blob/master/DependencyInjection/eZDemoExtension.php

  4. Hi, according to my tests, if a configuration option is present both in the main ezpublish.yml config file and in an imported config file, it is the value present in the main config file that takes precedence, and not the opposite, and this is true for the manual and implicite ways.