ez projects / bcpagedatabundle

Attention please: Due to restructuring legacy services, the eZ Projects service is going to be discontinued. All the current repositories will be migrated to a new platform. More details will be announced soon.


UNIX name Owner Status Version Compatible with
bcpagedatabundle Brookins Consulting stable 0.1.0 5.x+ (eZ Publish Community Project 2013.11)
This bundle implements a solution to provide request persistent variable storage service. Provides a symfony based replacement for the legacy ezpagedata operator.


  • The current version of BC Page Data is 0.1.0
  • Last Major update: May 19, 2015


  • BC Page Data is copyright 1999 - 2017 Brookins Consulting and Think Creative
  • See: for more information on the terms of the copyright and license


BC Page Data is licensed under the GNU General Public License.

The complete license agreement is included in the LICENSE file.

BC Page Data is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

BC Page Data is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

The GNU GPL gives you the right to use, modify and redistribute BC Page Data under certain conditions. The GNU GPL license is distributed with the software, see the file LICENSE.

It is also available at

You should have received a copy of the GNU General Public License along with BC Document Reader in LICENSE. If not, see

Using BC Document Reader under the terms of the GNU GPL is free (as in freedom).

For more information or questions please contact:


The following requirements exists for using BC Page Data Bundle:

eZ Publish version

  • Make sure you use eZ Publish version 5.x (required) or higher.
  • Designed and tested with eZ Publish Community Project 2013.11

PHP version

  • Make sure you have PHP 5.x or higher.



  • This solution does not depend on eZ Publish Legacy in any way

Twig operators

This solution provides the following twig filter.

  • Twig Filter: `bc_pagedata` - Used within template overrides to access variable content from the persistent (page data) service.


  • The `brookinsconsulting.page_data_persistence` service can be used to get persistent storage variables or add variables into the request variable persistent storage provided within this bundle.


Extension Installation via Composer

Run the following command from your project root to install the extension:

bash$ composer require brookinsconsulting/bcpagedatabundle dev-master;

Bundle Activation

Within file `ezpublish/EzPublishKernel.php` at the bottom of the `use` statements, add the following lines.

    use BrookinsConsulting\BcPageDataBundle\BcPageDataBundle;

Within file `ezpublish/EzPublishKernel.php` method `registerBundles` add the following into the `$bundles = array(` variable definition.

    // Brookins Consulting : BcPageDataBundle Requirements
    new BrookinsConsulting\BcPageDataBundle\BcPageDataBundle()

Clear the caches

Clear eZ Publish Platform / eZ platfrom caches (Required).

php ezpublish/console cache:clear;


The solution is configured to work virtually by default once properly installed.

 You can use the twig filter `bc_pagedata` within your own twig templates to access persistent variables.

You can use the `brookinsconsulting.page_data_persistence` service within your own custom PHP code to get persistent storage variables or add variables into the persistent storage.

<span class="s1">&nbsp; &nbsp; $pageDataPersistence = $this->container->get( 'brookinsconsulting.page_data_persistence' );
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; // Access persistent storage
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; if ( $this->pageDataPersistence->has( 'document_readers' ) )
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; {
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; &nbsp; &nbsp; $this->documentReaders = $this->pageDataPersistence->get( 'document_readers' );
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; }
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; else
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; {
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; &nbsp; &nbsp; $this->set( array(), 'document_readers' );
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; &nbsp; &nbsp; $this->documentReaders = $this->pageDataPersistence->get( 'document_readers' );
</span><span style="font-size: 1.1em;">&nbsp; &nbsp; }</span>


Read the FAQ

Some problems are more common than others. The most common ones are listed in the the doc/


If you have find any problems not handled by this document or the FAQ you can contact Brookins Consulting through the support system:

No news yet.

This project has no reviews yet. Be the first one to review it!

No forum messages yet.