PHPackages                             brookinsconsulting/bcxmltemplateoverrideconditions - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. brookinsconsulting/bcxmltemplateoverrideconditions

ActiveEzpublish-legacy-extension[Templating &amp; Views](/categories/templating)

brookinsconsulting/bcxmltemplateoverrideconditions
==================================================

eZ Publish Legacy kernel override class extension which provides a stable and flexible solution which adds manny more template override.ini match conditions (than supported by default) for ezxml output tag template overrides. Provides for greater template override control!

061PHP

Since Jun 16Pushed 10y ago1 watchersCompare

[ Source](https://github.com/brookinsconsulting/bcxmltemplateoverrideconditions)[ Packagist](https://packagist.org/packages/brookinsconsulting/bcxmltemplateoverrideconditions)[ RSS](/packages/brookinsconsulting-bcxmltemplateoverrideconditions/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

BC XML Template Override Conditions
===================================

[](#bc-xml-template-override-conditions)

This extension implements a solution to provide additional override.ini rules match condition support. Provides an extension based kernel class override for class, 'eZXMLOutputHandler'.

Version
=======

[](#version)

- The current version of BC XML Template Override Conditions is 0.1.0
- Last Major update: May 31, 2015

Copyright
=========

[](#copyright)

- BC XML Template Override Conditions is copyright 1999 - 2016 Brookins Consulting and 1999 - 2016 eZ Systems AS.
- See: [COPYRIGHT.md](COPYRIGHT.md) for more information on the terms of the copyright and license

License
=======

[](#license)

BC Document Reader is licensed under the GNU General Public License.

The complete license agreement is included in the [LICENSE](LICENSE) file.

BC Document Reader is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License or at your option a later version.

BC Document Reader 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 Document Reader under certain conditions. The GNU GPL license is distributed with the software, see the file doc/LICENSE.

It is also available at

You should have received a copy of the GNU General Public License along with BC Document Reader in doc/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:

Requirements
============

[](#requirements)

The following requirements exists for using BC XML Template Override Conditions extension:

### eZ Publish version

[](#ez-publish-version)

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

### PHP version

[](#php-version)

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

Features
========

[](#features)

### Dependencies

[](#dependencies)

- This solution depends on eZ Publish Legacy and kernel class overrides enabled in config.php

### Kernel class override

[](#kernel-class-override)

This solution overrides the following kernel class:

- PHP Class : `eZXMLOutputHandler` - Found by default at: `kernel/classes/datatypes/ezxmltext/ezxmloutputhandler.php`

This solution provides the following kernel class override:

- PHP Class : `eZXMLOutputHandler` - Found by at: `extension/bcxmltemplateoverrideconditions/classes/kerneloverride/kernel/classes/datatypes/ezxmltext/ezxmloutputhandler.php`

**Note**: This solution requires only one legacy kernel class override of a class that is very stable and not subject to much change (if at all) per release (which is important for maintainability). The class has not been modified or [needed a bugfix since late 2012](https://github.com/ezsystems/ezpublish-legacy/commits/master/kernel/classes/datatypes/ezxmltext/ezxmloutputhandler.php).

### Template override rule match conditions added

[](#template-override-rule-match-conditions-added)

This solution provides the following ezxmltags template override rule match conditions you can use in your override.ini settings:

- Provided by default in eZ Publish:

    - attribute\_identifier
- Added by bcxmltemplateoverrideconditions:

    - object
    - class
    - class\_identifier
    - remote\_id
    - node
    - node\_remote\_id
    - depth
    - url\_alias
    - parent\_node
    - parent\_node\_remote\_id
    - parent\_object\_remote\_id
    - parent\_class
    - parent\_class\_identifier

**Note**: Additional match conditions can be added by patching the kernel override class and documentation. We support with this solution nearly all possible match conditions (minus state and some other more obscure and rarely used conditions).

Installation
============

[](#installation)

### Extension Installation via Composer

[](#extension-installation-via-composer)

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

```
bash$ composer require brookinsconsulting/bcxmltemplateoverrideconditions dev-master;

```

### Extension Activation

[](#extension-activation)

Kernel class override extensions are **not** activated via ini settings. Normal site.ini extension activation settings are not required to use this extension and it's solution.

### Enable eZ Publish Kernel Overrides

[](#enable-ez-publish-kernel-overrides)

Kernel class overrides are only able to be used if you add the following to your eZ Publish Legacy config.php configuration file.

```
cp -va config.php-RECOMMENDED config.php;
# Edit config.php to set 'EZP_AUTOLOAD_ALLOW_KERNEL_OVERRIDE' to true. It should look like this:
define( 'EZP_AUTOLOAD_ALLOW_KERNEL_OVERRIDE', true );

```

### Regenerate kernel class override autoloads

[](#regenerate-kernel-class-override-autoloads)

Regenerate kernel class override autoloads (Required).

```
php ./bin/php/ezpgenerateautoloads.php --kernel-override;

```

### Clear the caches

[](#clear-the-caches)

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

```
php ./bin/php/ezcache.php --clear-all;

```

Usage
=====

[](#usage)

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

You can use the additional override.ini rules match conditions within your settings to use this solution's features

Troubleshooting
===============

[](#troubleshooting)

### Read the FAQ

[](#read-the-faq)

Some problems are more common than others. The most common ones are listed in the the [doc/FAQ.md](doc/FAQ.md)

### Support

[](#support)

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

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/fda10bb840bcf345ab87d5ec5bd7c79da0be8858fc1b754db272ca1fc45e49e2?d=identicon)[brookinsconsulting](/maintainers/brookinsconsulting)

---

Top Contributors

[![brookinsconsulting](https://avatars.githubusercontent.com/u/617031?v=4)](https://github.com/brookinsconsulting "brookinsconsulting (5 commits)")

### Embed Badge

![Health badge](/badges/brookinsconsulting-bcxmltemplateoverrideconditions/health.svg)

```
[![Health](https://phpackages.com/badges/brookinsconsulting-bcxmltemplateoverrideconditions/health.svg)](https://phpackages.com/packages/brookinsconsulting-bcxmltemplateoverrideconditions)
```

###  Alternatives

[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)[symfony/ux-icons

Renders local and remote SVG icons in your Twig templates.

555.8M69](/packages/symfony-ux-icons)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
