PHPackages                             combat-ui/core-pimcore-bundle - 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. combat-ui/core-pimcore-bundle

ActivePimcore-bundle

combat-ui/core-pimcore-bundle
=============================

Pimcore wrapper bundle for Combat UI: curated, configurable areabricks built on the Combat UI Core Symfony bundle

0.0.1(yesterday)02↑2900%GPL-3.0-or-laterPHP ~8.3.0

Since Jul 22Compare

[ Source](https://github.com/Combat-Marketing/combat-ui-pimcore-bundle)[ Packagist](https://packagist.org/packages/combat-ui/core-pimcore-bundle)[ RSS](/packages/combat-ui-core-pimcore-bundle/feed)WikiDiscussions Synced today

READMEChangelog (1)Dependencies (10)Versions (2)Used By (0)

Combat UI — Pimcore Bundle
==========================

[](#combat-ui--pimcore-bundle)

Pimcore wrapper bundle for [Combat UI](https://www.combat.nl). It ships a curated set of configurable **areabricks** built on top of the `combat-ui/core-bundle` Symfony bundle, so editors can compose pages from Combat UI sections and components directly in the Pimcore document editor.

Requirements
------------

[](#requirements)

- PHP 8.3
- Pimcore Platform 2024.4 (Pimcore Core ^11.5 and Admin UI Classic ^1.7)
- `combat-ui/core-bundle` (installed automatically as a dependency)

Pimcore Platform 2024.4 is an LTS line through December 2026, but current Composer versions flag security advisories on its pinned Core and Classic Admin packages. Production users should obtain the applicable Pimcore LTS fixes. Composer may require an explicit project-level advisory policy to resolve this legacy platform; the bundle does not disable security blocking for consumers.

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

[](#installation)

```
composer require combat-ui/core-pimcore-bundle
```

The bundle is discovered through its composer type (`pimcore-bundle`) and registers its dependencies (`PimcoreAdminBundle`, `CombatUICoreBundle`, `WebpackEncoreBundle`) itself. Enable and install it from the Pimcore bundle manager, or via CLI:

```
bin/console pimcore:bundle:enable CombatUIPimcoreBundle
bin/console pimcore:bundle:install CombatUIPimcoreBundle
bin/console assets:install
```

`assets:install` publishes the prebuilt Combat UI Encore build to `public/bundles/combatuicore/build`; the core bundle wires the `combat_ui` Encore build there automatically.

Layout integration
------------------

[](#layout-integration)

Load the Combat UI assets once in your document layout and expose an areablock for the bricks:

```

        {{ cui_assets() }}
        {{ cui_theme_tokens() }}

            {{ pimcore_areablock('content', {
                allowed: [
                    'cui-hero', 'cui-page-intro', 'cui-cta', 'cui-content', 'cui-card-grid',
                    'cui-feature-grid', 'cui-stats', 'cui-logo-strip', 'cui-team', 'cui-events',
                    'cui-contact', 'cui-accordion', 'cui-tabs', 'cui-carousel', 'cui-media', 'cui-map',
                ]
            }) }}

```

The bricks are full-width bands that bring their own `.cui-container` wrappers, so place the areablock in a full-bleed region of the layout rather than inside another container.

Theme editor
------------

[](#theme-editor)

The bundle adds a **Combat UI Theme** entry to the admin **Extras** menu (users need the `combat_ui_theme` permission, registered on install). The panel lists every Combat UI design token, grouped as in the framework's `tokens.css` — typography, colors, spacing, surfaces, and so on — with the framework default shown as placeholder. Color tokens take a separate **light** and **dark** value; the dark value feeds both the `prefers-color-scheme: dark` media query and the explicit `[data-theme="dark"]` pin, exactly mirroring the framework's selector structure.

Saved overrides are stored in the Pimcore settings store (scope `combat_ui`) and served as a generated stylesheet from `/cui/theme.css`. Add `{{ cui_theme_tokens() }}` to your layout **after**`{{ cui_assets() }}` — it renders a `` with a content hash (long-lived immutable caching) and renders nothing while no token is overridden. Because tokens are CSS custom properties, no rebuild of the framework CSS is involved; the override stylesheet simply wins by cascade order.

The token schema (groups, descriptions, defaults) is read from the `blocks.json` manifest shipped with the core bundle's prebuilt assets, so the editor stays in sync with the framework version you have installed.

Bricks
------

[](#bricks)

All bricks live in the `Combat UI` namespace (`src/Document/Areabrick`) with templates under `templates/areas//view.html.twig`. Structural options (variant, tone, spacing, width, …) are configured through the brick dialog (pencil icon); content is edited inline where possible.

BrickIDDialog optionsInline editablesHero`cui-hero`variant (split/background/overlay/text), title tag, alignment, width, media position, eyebrow, title, lead, background imageWYSIWYG body, media image, primary/secondary linksPage intro`cui-page-intro`variant (landing/case/vacancy/campaign/full-bleed), tone, alignment, title tag, eyebrow, title, lead, meta linesWYSIWYG body, primary/secondary linksCall to action`cui-cta`variant (simple/split/full-bleed/sticky), tone, title tag, section spacing, eyebrow, title, leadWYSIWYG body, primary/secondary linksRich text`cui-content`section spacing, tone, container widthWYSIWYG proseCard grid`cui-card-grid`columns, gap, card style (featured/compact/flat/borderless), category filter chips + label, section spacing, tone, container widthper card: image, category, title, excerpt, linkFeature grid`cui-feature-grid`columns, gap, alignment, section optionsper feature: icon, title, copyStatistics`cui-stats`columns, gap, alignment, section optionsper stat: value, labelLogo strip`cui-logo-strip`section optionsper logo: image, name fallbackTeam`cui-team`card style (flat/borderless/leadership), photo shape, alignment, columns, gap, section optionsper member: photo, name, role, department, bio, emailEvents`cui-events`columns, card style (featured/compact), section optionsper event: date, title, category, time, location, status, excerpt, linkContact cards`cui-contact`columns, card style (flat/borderless/inverse), alignment, section optionsper card: eyebrow, title, copy, email, phone, linkAccordion`cui-accordion`variant (ghost), open first itemper item: summary, WYSIWYG bodyTabs`cui-tabs`—per tab: label, WYSIWYG contentCarousel`cui-carousel`autoplay, interval, transition, looping, arrows/pagination, widthper slide: image, captionMedia`cui-media`style (figure / full-width / banner / media card / overlay card), aspect ratio, optional video, media link (banner: whole image, card: media region), eyebrow, title, container width, alignment, row orientation, reversed order (content before media), card chrome (flat/borderless), scrim, corner radiusimage; caption (figure); WYSIWYG body + links (card/overlay)Map`cui-map`center, zoom, clustering, fit bounds, scroll-wheel zoomper marker: label, latitude, longitude### Notes

[](#notes)

- The card/section bricks (card grid, feature grid, statistics, logo strip, team, events, contact, media) render through the curated `@CombatUICore` component templates and therefore need a `combat-ui/core-bundle` release that ships them (newer than 0.6.1.2). Until that release, the local test suite runs against a sibling `combat-ui-bundle` checkout.
- Brick auto-registration relies on Pimcore's default `documents.areas.autoload: true`; if you disabled it, tag the brick classes with `pimcore.area.brick` yourself.
- Image editables render the original asset by default. Override a brick template in your app (`templates/bundles/CombatUIPimcoreBundle/areas//view.html.twig`) to apply thumbnail configurations.
- Brand-wide component defaults (e.g. default button variant) can be set via the core bundle's `combat_ui_core.component_defaults` configuration.

Development
-----------

[](#development)

Run the Codeception unit suite:

```
composer install
composer test          # codecept run Unit
```

The suite covers the bundle contract (nice name, dependent bundles, container extension), every brick's `AsAreabrick` id, template location and dialog-box editables, and renders each brick view template through the real Combat UI core templates — with the `pimcore_*` editables stubbed — in both frontend and editmode.

License
-------

[](#license)

GPL-3.0-or-later — see [LICENSE](LICENSE).

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance100

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

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

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/682256?v=4)[Christiaan van Dam](/maintainers/h4rdc0m)[@h4rdc0m](https://github.com/h4rdc0m)

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/combat-ui-core-pimcore-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/combat-ui-core-pimcore-bundle/health.svg)](https://phpackages.com/packages/combat-ui-core-pimcore-bundle)
```

###  Alternatives

[pimcore/data-hub

Pimcore Datahub

1361.4M12](/packages/pimcore-data-hub)[pimcore/skeleton

126200.6k](/packages/pimcore-skeleton)[coreshop/core-shop

CoreShop - Pimcore eCommerce

292205.0k12](/packages/coreshop-core-shop)[pimcore/data-importer

Adds a comprehensive import functionality to Pimcore Datahub

46855.5k5](/packages/pimcore-data-importer)[pimcore/studio-ui-bundle

Pimcore Studio Ui Bundle

29118.5k19](/packages/pimcore-studio-ui-bundle)[pimcore/studio-backend-bundle

Pimcore Studio Backend Bundle

20203.9k22](/packages/pimcore-studio-backend-bundle)

PHPackages © 2026

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