Skip to main content
Version: 2026.1

Extending Pimcore

Pimcore builds on Symfony's extension mechanisms and adds its own extension points. Most projects start with data modeling, controllers, templates, and documents, all achievable through configuration and standard Symfony patterns. When you need to go further, Pimcore provides dedicated extension points across three layers.

Architecture: Where to Extend What

Pimcore's extension points span three layers, each documented in its own chapter:

LayerWhat it coversWhen to use
Core Framework (this chapter)Events, models, bundles, data types, Symfony DI, Composer dependenciesPHP/Symfony-level customization, data model extensions, lifecycle hooks, distributable bundles
Studio Backend APIAPI endpoints, response customization, grid columns, filters, metadata adaptersCustomizing the REST API layer that powers Pimcore Studio
Studio UIPlugins, tabs, widgets, navigation, context menus, sidebar extensionsExtending the Pimcore Studio frontend with custom UI components

Cross-cutting extensions (e.g. adding a custom asset type or document type) typically require changes across multiple layers. The guides in this chapter cover the full workflow and link to the Studio Backend and Studio UI documentation for layer-specific detail.

Core Framework Extensions

Events and Event Listeners Hook into Pimcore's lifecycle (element CRUD, cache, mail, workflows) using the Symfony EventDispatcher without modifying core code.

Add Your Own Dependencies Install external Composer packages and register third-party Symfony bundles.

Custom Extension Guides Step-by-step guides for specific customizations: custom asset types, document types, data types, permissions, persistent models, and more. Includes a cross-bundle index of all extension guides across all three layers.

Bundle Developer's Guide Build reusable, distributable Pimcore bundles with installers, service definitions, auto-loaded configuration, and migrations.

Studio Backend Extensions

The Studio Backend Bundle exposes extension points for the API layer that powers Pimcore Studio: custom endpoints, response enrichment via events, grid columns, filters, metadata adapters, and OpenAPI integration.

See the full reference: Extending Pimcore Studio Backend

Studio UI Extensions

The Studio UI Bundle provides a plugin/module architecture, component registry, dependency injection, and dynamic type system for client-side customization of Pimcore Studio.

Start with the plugin development guide. The SDK Overview provides background on the module system and component registry that plugins build on.

See Also