PageType
Creating new PageType
For creating a new PageType called ’MyNewPageType’, the following has to be done:
- Create the custom View and Edit Templates as Velocity template files if needed in ’webapp/templates/celTemplates’ called ’MyNewPageTypeView.vm’ or ’MyNewPageTypeEdit.vm’ respectively.
- In the browser, navigate to ’/PageTypes/MyNewPageType’
- Add an object of the class ’Celements2.PageTypeProperties’ to the document which has the following fields:
- Type Pretty Name: The PageTypes pretty name, e.g. ’MyNewPageType’
- Category
- Type Edit Template: Set defined Edit Template, e.g. ’Templates.MyNewPageTypeEdit’ or ’NoEdit’ for none
- Type View Template: Set defined View Template, e.g. ’Templates.MyNewPageTypeView’ or ’NoView’ for none
- Visible: Yes/No
- Show Frame: Yes/No
- Load Richtext Editor: Yes/No
- Richtext Editor Width
- Richtext Editor Height
- Has Page Title: Yes/No
- Is Unconnected Parent: Yes/No (see Navigation for usage)
Adding PageType to a Document
Adding PageType ’MyNewPageType’ to Document ’MySpace/MyDocument’
- In the browser, navigate to ’/MySpace/MyDocument’
- Add an object of the class ’Celements2.PageType’ to the document which has the following fields:
- Page Type: Name of the desired PageType, in this example it would be ’MyNewPageType’
- Page Layout
Adding PageType to a Document
Since 2.21.0 it is possible to extend the set of available page-types by implementing the component role IPageTypeProviderRole. The celements page type extension provides the XObjectPageTypeProvider, which supports the standard page type definition by XObjects (as explaint before).