Custom Page Fields
Released in 10.05.00
The 10.05.00 release adds support for Custom Page Fields. These custom fields allow you to save custom data associated with a page in Miva. Possible use cases include page specific settings.
Custom Page Fields are in addition to other types of custom fields (product, customer, category, basket and order) . These custom fields function just like other custom fields in Miva.
On This Page
- Create a Custom Page Field
- View/Edit Custom Page Fields in Admin
- Batch List View & Sorting
- Editing Custom Page Fields in PageBuilder
- Template Functions for Reading & Writing Custom Page Fields
- XML Provisioning
Create a Custom Page Field
Custom Page Fields are added to the store under Utilities -> Custom Fields-> New Custom Field .

Note: All Field types, except multi-text, are supported for Custom Page Fields.

View/Edit Custom Page Fields in Admin
Once added, the values of the Custom Page Fields can be viewed and modified at the page level.
Caution
It's required for the customfields item to be assigned to any page you wish to view Custom Page Fields for in the admin. You will need to manually do this step to view the Custom Page Fields associated with each page.

Custom Field Groups are also supported. In this example we have a group created named “Custom Page Settings” which has two Custom Page Fields assigned to it. This is useful for organizing custom fields into logical tabs/groups.

Batch List View & Sorting
Any Custom Page Field can be added to the Page Batch List. This allows you to view/edit and sort any of the Custom Page Fields in the admin batch list view.


Advanced Search is also supported.
Editing Custom Page Fields in PageBuilder
If you have Custom Page Fields setup for a page, they are also viewable and editiable under the Settings screen from within PageBuilder.

Template Functions for Reading & Writing Custom Page Fields
Just like other custom field types, template-level functions exist to read and write the Custom Page Field from any page.
Note
The customfields item must be assigned to the page in order to use any of these functions.
<mvt:item name="customfields" param="Read_Page_Code( 'page_code', 'custom_field_code', l.settings:customfields )" />
<mvt:item name="customfields" param="Read_Page_ID( 1, 'custom_field_code', l.settings:customfields )" />
<mvt:item name="customfields" param="Write_Page_ID( 1, 'custom_field_code', 'value' )" />
<mvt:item name="customfields" param="Write_Page_Code( 'page_code, 'custom_field_code', 'value' )" />
XML Provisioning
XML Provisioning Functions exist to create Custom Page Fields or set/modify/delete their values.
<Module code="customfields" feature="util">
<PageField_Add>
<Code>..</Code>
<Name>...</Name>
<FieldType>textfield,textarea,dropdown,radio,checkbox,imageupload,pdfupload</FieldType>
<Info>...</Info>
<Group>...</Group>
<Public>yes|no</Public>
</PageField_Add>
<PageField_Update code="existing>
<Code>..</Code>
<Name>...</Name>
<FieldType>textfield,textarea,dropdown,radio,checkbox,imageupload,pdfupload</FieldType>
<Info>...</Info>
<Group>...</Group>
<Public>yes|no</Public>
</PageField_Update>
<PageField_Delete code="existing" />
<PageField_Value page="code" field="code">value</PageField_Value>
</Module>
// Adding Custom Page Fields
<Page_CustomField module="code" page="code" field="code">customfield value</Page_CustomField>