PHPackages                             erdnaxelaweb/ibexadesignintegration - 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. erdnaxelaweb/ibexadesignintegration

ActiveSymfony-bundle[Templating &amp; Views](/categories/templating)

erdnaxelaweb/ibexadesignintegration
===================================

Provide an abstraction layer for the Ibexa CMS in order to streamline the templates development workflow.

v1.0.0(4mo ago)018.7k↓50%6MITPHPPHP ^8.1CI failing

Since Oct 3Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/erdnaxelaweb/ibexadesignintegration)[ Packagist](https://packagist.org/packages/erdnaxelaweb/ibexadesignintegration)[ RSS](/packages/erdnaxelaweb-ibexadesignintegration/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (27)Versions (13)Used By (0)

Ibexa Design Integration Bundle
===============================

[](#ibexa-design-integration-bundle)

This bundle extends [erdnaxelaweb/staticfakedesign](https://github.com/erdnaxelaweb/staticfakedesign) to provide an abstraction layer for the Ibexa CMS in order to streamline the templates development workflow.

It serves as a bridge between static design development and the Ibexa CMS by:

1. Providing a consistent definition model for content types, taxonomy entries, and landing page blocks
2. Managing transformations between Ibexa's native objects and template-friendly representations
3. Enabling developers to build and test templates before the CMS integration
4. Offering a smooth transition from static design to dynamic CMS implementation

Table of Contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
- [Purpose](#purpose)
- [Features](#features)
- [Usage](#usage)
    - [Content types](#content-types)
    - [Taxonomy entries](#taxonomy-entries)
    - [Landing Page blocks](#landing-page-blocks)
    - [Template integration](#template-integration)
- [Documentation](#documentation)
- [License](#license)

Installation
------------

[](#installation)

1. Add the bundle to your project via Composer:

```
composer require erdnaxelaweb/ibexadesignintegration
```

2. Register the bundle in your `config/bundles.php`:

```
return [
    // ...
    ErdnaxelaWeb\IbexaDesignIntegrationBundle\IbexaDesignIntegrationBundle::class => ['all' => true],
];
```

3. Add routes

```
showroom:
    resource: "@StaticFakeDesignBundle/Resources/config/routing/showroom.yaml"
    defaults:
        siteaccess_group_whitelist: 'static_group'

ibexa_design_integration:
    resource: "@IbexaDesignIntegrationBundle/Resources/config/routing/routes.yaml"
```

Features
--------

[](#features)

- **Value Transformers**: Specialized services for transforming Ibexa CMS objects (content, fields, blocks) into template-friendly objects
- **Content Abstraction**: Consistent interfaces for accessing content data regardless of the underlying implementation
- **Block Management**: Enhanced landing page block integration with attribute transformation
- **Taxonomy Integration**: Support for Ibexa Taxonomy with transformation capabilities
- **Pagination System**: Flexible pager builder with search type system for creating paginated listings
- **Performance Optimization**: Lazy-loading mechanisms for improved template rendering performance
- **HTTP Cache Integration**: Automatic response tagging for efficient cache invalidation

Usage
-----

[](#usage)

Refer to the [erdnaxelaweb/staticfakedesign](https://github.com/erdnaxelaweb/staticfakedesign) bundle documentation for detailed usage instructions.

### Content types

[](#content-types)

Define content types in a standardized way using the definition pattern:

```
parameters:
    erdnaxelaweb.static_fake_design.content_definition:
        article:
            name:
                eng-GB: 'Article'
            nameSchema: ''
            urlAliasSchema: ''
            fields:
                title:
                    type: string
                    required: true
                body:
                    type: richtext
                    required: false
```

### Taxonomy entries

[](#taxonomy-entries)

Define taxonomy types for categorizing content:

```
parameters:
    erdnaxelaweb.static_fake_design.taxonomy_entry_definition:
        category:
            fields:
                name:
                    required: true
                    type: string
                identifier:
                    required: true
                    type: string
```

### Landing Page Blocks

[](#landing-page-blocks)

Create custom landing page blocks:

```
ibexa_design_integration:
  system:
    default:
      block_definition:
        featured_articles:
            views:
                default: '@ibexadesign/landing_page/block/featured_articles.html.twig'
            attributes:
                title:
                    type: "string"
                    required: false
                articles:
                    type: "content"
                    required: true
                    options:
                        type: article
                        max: 3
```

### Template Integration

[](#template-integration)

The bundle provide a set of twig functions to integrate templates with the Ibexa CMS.:

- `display_content`: Renders a content view template

```
{{ display_content(, , , , ) }}
{{ display_content('@ibexadesign/content/list/news.html.twig', content, []) }}
```

- `display_block`: Renders a block view template

```
{{ display_block(, ) }}
{{ display_block(block) }}
```

- `display_component`: Renders a component view template

```
{{ display_component('@ibexadesign/components/footer.html.twig', []) }}
{{ display_component(, , , ) }}
```

Thoses functions are used to switch between `include` and `render` depending on the context (static or dynamic version).

Rules for view template integration
-----------------------------------

[](#rules-for-view-template-integration)

1. A content view template should always be associated with a content object
2. Page template names should follow the pattern: `/.html.twig`
3. The content variable in a content view template should always be named `content`

Documentation
-------------

[](#documentation)

Detailed documentation is available in the `./doc` directory:

- [Block Attribute Value Transformers](./doc/block_attribute_value_transformers.md)
- [Block Transformer](./doc/block_transformer.md)
- [Content Transformer](./doc/content_transformer.md)
- [Field Value Transformers](./doc/field_value_transformers.md)
- [Pager Builder](./doc/pager_builder.md)
- [Pager Search Types](./doc/pager_search_types.md)
- [Taxonomy Entry Transformer](./doc/taxonomy_entry_transformer.md)
- [Developer Guide](./doc/dev_guide.md)

Contributing
------------

[](#contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

License
-------

[](#license)

This bundle is released under the [MIT License](LICENSE).

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance83

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.3% 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.

###  Release Activity

Cadence

Every ~76 days

Recently: every ~32 days

Total

7

Last Release

129d ago

Major Versions

v0.2.x-dev → v1.0.02026-01-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/5da828a6299f556552632c81712f10e70c905b2e1560b1a7044eb7e590287179?d=identicon)[florianalexandre](/maintainers/florianalexandre)

---

Top Contributors

[![erdnaxelaweb](https://avatars.githubusercontent.com/u/2130120?v=4)](https://github.com/erdnaxelaweb "erdnaxelaweb (210 commits)")[![mohamed-hamdani](https://avatars.githubusercontent.com/u/138455778?v=4)](https://github.com/mohamed-hamdani "mohamed-hamdani (6 commits)")[![lhassanbouhou-acx](https://avatars.githubusercontent.com/u/152858392?v=4)](https://github.com/lhassanbouhou-acx "lhassanbouhou-acx (1 commits)")[![okante](https://avatars.githubusercontent.com/u/1520155?v=4)](https://github.com/okante "okante (1 commits)")

---

Tags

symfonytwigtemplatingintegrationibexa

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/erdnaxelaweb-ibexadesignintegration/health.svg)

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

###  Alternatives

[goetas/twital-bundle

Twital templating engine Symfony Bundle

206.8k](/packages/goetas-twital-bundle)[yepsua/smartwig-bundle

The jQuery, jQueryUI (and more) Symfony Bundle

214.0k3](/packages/yepsua-smartwig-bundle)[nurikabe/star-rating-bundle

Symfony form type and Twig extension for quick integration of FyneWorks' Star Rating widget

113.1k](/packages/nurikabe-star-rating-bundle)

PHPackages © 2026

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