How to create a Component Node
In the node type creation pop-up window there are fields for the following node properties:
- The namespace of the node type
- The technical name of the node type (e.g.
- The title (user friendly name) of the node type (e.g. "My First Component")
- The super type (Most node types inherit from
- A list of mixins (e.g.
When the new type is declared, properties can be added by name and type.
Simple properties can be of type :
Weakreference: reference to a node in the JCR
In the "Properties" tab of the node type creation pop-up window, the "add" button can be clicked. In the following example, a new property of type String is being created:
Jahia uses definitions to build the Edit and Contribute user interfaces. The property editing forms are rendered based on the property type. However, the form can be configured with a Selector. The standard syntax is as follows:
property_name (type, selector [options])
- Displays a simple text field (input text)
field-name (string, richtext)
- Displays a WYSIWYG HTML editor
field-name (string, choicelist)
- Displays a drop down list
- Displays a number text field
- Displays a checkbox
field-name (weakreference, picker [type = 'image'])
- Displays a node picker which only allows selection of an image file
field-name (date, datepicker)
- Displays a calendar without hour in day
field-name (weakreference) < mynt:SomeOtherComponent
- Display only content of type
In Jahia Studio, a Property of type
date could be added, with a Selector type of
An example of adding a property for a Photo with the image selector option:
A property with a constraint on its type:
Adding a Component to a Page
Switching to the Page Composer, the new Component appears in the list of available components when adding content to a page.
Once the title is added an error message appears:
no render set for node : my-first-component
for types : [mynt:myComponent]
Rendering will be covered in a later section.
Tutorial: Content Type Definitions
To help prepare for the following exercise, the following tutorial provides a step-by-step walkthrough on Defining Content Types with a newsItem component.
Exercise: Create and enable a new Component
- Create the definition for an Employee of Acme Company as a Primary NodeType.
- Assign the Employee Node Type under a new unique Namespace prefix.
- Categorize the Component as standard Jahia content containing an ACL, metadata, etc.
- Add the following Component properties:
- First Name
- Last Name
- Put the Component in the category “Content: structured”
- Create a website and enable the Component on it.
- Create an Employee content item in Edit Mode.
If done correctly, the following message will be displayed:
No render set for node : employee for types : [mynt:employee]