MODULES

Front-end Submit Modules

6min

When you install a Module, a front-end form file is automatically generated within your Module, in a folder called form. It automatically contains all fields from the Module. You can view this folder using Code Editor, it is next to the detail and list folders for your Module.

Syntax

Output your Module form on a page: {%- include 'module_form', id: '1' -%} Toolbox has support for Module input forms, and the following options will be given in the modal, or you can set them yourself:

  • enabled  - default is false - Boolean - Determines if items are auto-enabled or not
  • expiry_date  - default is never expires  - Timestamp - When the new item will expire
  • release_date  - default is as soon as the form is submitted  - Timestamp - When the new item will be released
  • upload_dir - String - default is documents/form_uploads/module_1/  Where uploaded files will be stored. Must follow this format - 'folder/optional_folder/'

Standard Fields

Some fields are required for the form to be able to set up the Module items correctly. These fields are for 'enabled', 'expiry_date', 'release_date', 'upload_dir', and 'slug'. They stay the same each form, and don't have a Module specific ID attached to them.

HTML


All forms should be wrapped in a Liquid form tag: {% form -%}{% endform -%} All forms need a submission button:<button onClick="s_form_submit_v2(this,'module_1')">Submit</button>

Category Field (optional)

Example 1 

This example can be used for a Module Submit form that is displayed within a the layout of another WebApp or Module.

HTML


this.category_array[0]  - finds the first category the current item is categorised to and can be changed to be a full array, or specific category ID. 

Example 2

This example can be used on pages other than WebApp and Module layouts. 

HTML


123456  -  replace with the ID of a category of your choice.

Location Field (optional)

You can submit a Location value for a Module item as shown in the following example:

HTML


The value should be a stringified JSON object.