divio/django-cms

View on GitHub
docs/how_to/page_types.rst

Summary

Maintainability
Test Coverage
########################
How to manage Page Types
########################

**Page Types** make it easier for content editors to create pages from predefined **types**.

The examples contain content such as plugins that will be copied over to the newly-created page,
leaving the type untouched.


*******************
Creating Page Types
*******************

First you need to create a new page in the usual way; this will become the template for your new
page type.

Use this page as your template to add example content and plugins until you
reach a satisfied result.

Once ready, choose *Save as Page Type...* from the *Page* menu and give it an appropriate name.
Don't worry about making it perfect, you can continue to change its content and settings.

This will create a new page type, and makes it available from *Add Page* command and the **Create**
wizard dialog.

.. image:: /contributing/images/add-page-type.png
   :alt: Creating a page type

If you don't want or need the original page from which you create the new page type, you can simply
delete it.


*******************
Managing Page Types
*******************

When you save a page as a page type, it is placed in the page list under *Page Types* node.

This node behaves differently from regular pages:

- They are not publicly accessible.
- All pages listed in *Page Types* will be rendered in the *Page Types*
  drop-down menu.

There's also a quick way to create a new page type: simply drag an existing page to the *Page
Types* node, whereupon it will become a new page type.


*********************
Selecting a Page Type
*********************

You can now select a page type when creating a new page. You'll find a drop-down menu named *Page
Type* from which you can select the type for your new page.

.. image:: /contributing/images/select-page-type.png
   :alt: Selecting a page type