Elements of config.xml.cfm - Mura Docs v6

Elements of config.xml.cfm

At the top level, a theme's config.xml.cfm document should contain the mandatory <theme> element. There are no attributes available for this element.

Subordinate to the <theme> element is a single <extensions> element, which may contain some or all of a theme's custom class extension definitions.

<theme>
<extensions>
</extensions>
</theme>

<extension> is a sub-element of <extensions>

It has two required attributes; type defines the content type and subType says what its sub-type is. The only exception to this is the Site Type, which does not have a sub-type.

Additional, optional attributes are available depending on its Type. Each attribute accepts a boolean value (e.g., 0 for false, 1 for true). The default setting for each is 1 (or true).

Type hasSummary hasBody isActive
1 (User Group)     x
2 (User)     x
Address     x
Page x x x
Folder (formerly Portal) x x x
File x   x
Calendar x x x
Gallery x x x
Link x   x
Component   x x
Custom     x
Site     x
Base     x
  • hasSummary correlates to Show summary when editing?
  • hasBody correlates to Show body when editing?
  • isActive correlates to Is this class extension active?

Restrict Child Types (availableSubTypes)

The User Interface has an option to Allow users to add only specific subtypes? If the Type is a Page, Folder, Calendar, Gallery, File, or Link, then the availableSubTypes attribute may be used. 

Simply create a comma-separated list of content types to allow. For example:

availableSubTypes='File/Default,Page/YourCustomSubType'

Example <extension>

<extension type="Page" subType="Product" hasSummary="1" hasBody="1" isActive="1">
...
</extension>

<attributeset> is a sub-element of <extension>

An attribute set is similar to creating a fieldset in HTML.

It has one required attribute.

name - This will display on the content edit screen as the title or label above the grouping of associated attributes, similar to a fieldset's legend.

There is one optional attribute.

container - This is the "tab" container which the grouping of associated attributes will be displayed on. Valid options depend on the content Type.

Option Description
Basic Displays the attribute set on the Basic tab.
Default Displays the attribute set on the Extended Attributes tab. This is the default setting.
Custom Will not display the attribute set by default. This allows for a developer to create a custom user interface to collect the data.
SEO Displays the attribute set on the SEO tab.
Mobile Displays the attribute set on the Mobile tab.
List Display Options DIsplays the attribute set on the List Display Options tab.
Layout & Objects Displays the attribute set on the Layout & Objects tab.
Categorization Displays the attribute set on the Categorization tab.
Tags Displays the attribute set on the Tags tab.
Related Content Displays the attribute set on the Related Content tab.
Advanced Displays the attribute set on the Advanced tab.
Publishing Displays the attribute set on the Publishing tab.
Usage Report Displays the attribute set on the Usage Report tab.

Valid Container/Tab Options

Content Type Container/Tab Options
1 (User Groups), 2 (Users), & Site
  • Default
  • Custom
Pages, Folders, Links, Galleries, Files, and Calendars
  • Basic
  • Default
  • SEO
  • Mobile
  • List Display Options
  • Layout & Objects
  • Categorization
  • Tags
  • Related Content
  • Advanced
  • Publishing
  • Usage Report
  • Custom
Address, Custom, and Base
  • Basic
  • Default
  • Custom
Component
  • Basic
  • Default
  • Categorization
  • Usage Report
  • Custom

Example <attributeset>

<attributeset name="Mobile Options" container="Basic">
...
</attributeset>

<attribute> is a sub-element of <attributeset>

An attribute describes a data container (form field) and its validation rules.

The following table describes required and optional attributes of the <attribute> element:

Attribute Description
name The variable name. This will also become the form fields "name" attribute.
label The label that will be displayed on the form
hint A tooltip hint for the form field
type Valid options: TextBox (default), TextArea, HTMLEditor, SelectBox, MultiSelectBox, RadioGroup, File, Hidden
required Valid options: true, false (default)
validation Leave blank if not using validation. Otherwise, valid options are: Date, Numeric, Email, Regex, Color
regex If validation is set to Regex, then you can enter a JavaScript regular expression to execute when the form is submitted.
message The error message that displays when validation fails.
defaultValue Optional. The default value for the form field.
optionList A carat "^" delimited list of option values. Used when type is set to SelectBox, MultiSelectBox or RadioGroup.
optionLabelList A carat "^" delimited list of option labels. Used when type is set to SelectBox, MultiSelectBox or RadioGroup.

Note: To enable a color picker for a form field, set type="TextBox" and validation="Color"

Example config.xml.cfm

<theme>
<extensions>
<extension type="Page" subType="Product">
<attributeset name="Product Info">
<attribute
name="productDescription"
label="Product Description"
hint="Enter a description."
type="HTMLEditor"
defaultValue=""
required="false"
validation=""
regex=""
message=""
optionList=""
optionLabelList="" />
<!-- you can create more attributes here -->
</attributeset>
</extension>
<extension type="Base" subType="Default">
<attributeset name="Sample Options">
<attribute
name="havingFun"
label="Having Fun?"
hint="Of course you are!"
type="RadioGroup"
defaultValue="true"
required="false"
validation=""
regex=""
message=""
optionList="true^false"
optionLabelList="Yes^No" />
</attributeset>
</extension>
</extensions>
</theme>