Documents
Documents are Pimcore's web content management component. Each document is a node in a hierarchical tree,
identified by a unique ID and a path that doubles as its public URL. A page at /en/about/team in the
document tree is reachable at exactly that address in the browser.
Documents combine structured content editing in Pimcore Studio with Symfony-based rendering on the frontend. Editors work with visual Editables (input fields, WYSIWYG editors, image pickers) directly inside the page, while developers control layout and logic through controllers and Twig templates.
Document Types
Pimcore provides several document types, each designed for a specific use case:
| Type | Purpose |
|---|---|
| Page | A web page. Its path in the tree equals its URL in the browser. |
| Snippet | A reusable content fragment, embeddable in pages or other snippets. |
| Link | A web link for use in navigation structures. |
| Hardlink | A reference to another document subtree, reusing its content in a different context. |
| Folder | Organizes documents, just like folders on a filesystem. |
| A document with special functionality for transactional emails. |
How Documents Work
Documents follow a document-controller-template pattern built on Symfony MVC. A request is routed to a document, which determines the controller and template for rendering. See MVC in Pimcore for the rendering flow and configuration types.
Properties
Properties add key-value metadata to documents. Combined with tree inheritance, they become a powerful tool for managing cross-cutting concerns without touching every page individually:
- Navigation - control separators, highlighting, or custom CSS classes for navigation rendering.
- Header images - set a default header image at the root and override it deeper in the tree.
- Sidebars - toggle sidebar visibility per section.
- SEO - define fallback meta titles and descriptions that inherit down the tree, overridden only where needed.
- Protected areas - mark subtrees for closed user groups.
- Appearance - switch themes or layouts for micro-sites or nested sites.
Next Steps
- Templates - Twig templates and editables
- MVC in Pimcore - document rendering architecture and type configuration
- Editables - in-page content editing widgets
- Routing and URLs - how requests reach documents
- Navigation - building navigations from the document tree
- Document Inheritance - inheriting content between documents
- Predefined Document Types - preconfigured controller/template combinations
- Working with Documents via PHP API - CRUD operations and listings
- Create a First Project - hands-on tutorial