​​Page Objects

​A PageObject is a content element which is dynamically added to the website by the editor. Popular PageObjects are image or text objects.

Each PageObject consists of system generated HTML which is inserted on the fly into the HTML of the selected template section. Therefore the CSS of each template must contain specifications for each available PageObject.

​Pinned PageObjects

PageObjects may be pinned. If pinned, a PageObject will we be copied to all pages of the same template section—existing ones and pages that will be created future. If one of these PageObject instances is edited, all other instances will be edited, too.

The editors can delete each single instance of a pinned PageObject. But if they delete the pinned parent instance itself, all child instances will be deleted as well.

On the other hand unpinning a pinned PageObject will not delete the child instances, but the connection between the instances will break up and every instance will become an independent PageObject. It is also possible to break the connection of a single child instance to it's parent PageObject.

​​Restrict template slots to specific PageObjects

You can restrict the use PageObjects in your template slots. For example you may want to allow just “Simple Text” PageObjects within a slot placed in a <h1> tag.

If you want to disable all PageObjects for a slot, you can use an empty array as value in the configuration: "page_objects": []

Example: Restrict a slot to “Simple text” PageObjects

<h1>{{ fx_page.slot('mySlotName', _context, {"page_objects": ["text"] }) }}</h1>

Configuration strings for PageObjects

​Example: Restrict a slot to “Simple text” and “Rich text” PageObjects

<div>{{ fx_page.slot('SLOT_NAME', _context, {"page_objects": ["text", "rte"] }) }}</div>

​HTML markup

Each PageObject is enclosed by a <div> tag, which is identified by a unique ID:

<div id="fx_poi_UNIQUE-ID" class="fx_po">
    PAGE OBJECT CODE
</div>