Data Object Classes
Data Object classes define the structure and editor layout of Data Objects. To get started, follow the Create a First Project tutorial for a hands-on introduction.
Defining a Class
A class definition consists of two parts:
- Attributes - the data fields of the object
- Editor layout - how fields are organized in the object editor
Layout elements can be grouped into panels and placed into tab panels. This allows logical structuring of object attributes into smaller units of related data. Common groupings include tabs for logical groups like basic data, media, and sales data.
In addition to the main editor layout, Custom Layouts can define alternative views on the object data.
Creating a Class
To define a class, navigate to Data Management > Data Model Definitions > Classes in Pimcore Studio. The class name must be a valid PHP class name. After creating a new class, build its attributes and layout.
Use the title field in class definitions to add a translation key (e.g., app.classes.product)
for use in your translation files.
Data Types and Layout
Class attributes are selected from a set of predefined data types. Each data type defines the type of data (text, number, image, reference to another object, etc.) and provides a corresponding input widget in the editor (text field, drop area for images, etc.).
- Data Types - all available data types and their configuration
- Layout Elements - panels, tabs, fieldsets, and other layout components
- Custom Layouts - alternative editor views on the same data
- Additional Class Settings - inheritance, variants, custom icons, link generators, and more
- Object Bricks vs Classification Store - choosing between the two approaches for extensible class definitions