These files contain settings for each installed module. Each module will require different settings depending on the data structure. For this documentation a standard single-context recording 'mod_cxt_settings.php' file will be discussed as an example.
The display options influence how specific types of context record are displayed in navigation forms. Context data often requires brackets denoting the type of context. The code for configuring display looks like this:
$conf_br = array('type_2_L' => '(', 'type_2_R' => ')','type_1_L' => '[', 'type_1_R' => ']','type_6_L' => '*', 'type_6_R' => '*', 'type_4_L' => '', 'type_4_R' => '');
In the above, 'type_#' refers to the type number in cxt_lut_cxttype. The L or R refers to the whether the symbol will be displayed to the left or right of the context number. The symbol itself appears after => between ' '. Please note that in some cases (as in type 6 in the above example) a symbol can be placed only to one side of the item number.
Although most fields will be setup in field_settings.php, some fields are classified as 'custom' and are set-up in each modules settings file.
The three most common custom fields are as follows:
- conf_field_itemkey - This value is always setup within the module settings
- conf_field_modtype - This may be setup if there are any modtypes for the module
- conf_field_modxmi - Custom fields for xmi are also often needed, and should be included in the module settings file.
Please see below for an example of the custom field 'conf_field_itemkey' for the module Contexts:
$conf_field_itemkey = array( 'dataclass' => 'itemkey', 'classtype' => 'cxt_cd', //this is needed to correctly request the qtype 'alias_tbl' => 'cor_tbl_module', 'alias_col' => 'itemkey', 'alias_src_key' => 'cxt_cd', 'alias_type' => '1', 'module' => 'cxt', 'editable' => TRUE, 'hidden' => FALSE, 'add_validation' => $key_add_validation, 'edt_validation' => $key_edt_validation );
Some custom fields will also require module specific custom validation rules. These must also be configured in the module settings. Custom validation rules can be inserted into the validation arrays for each field using the following:
$field['add_validation'] = $your_custom_rule;
All custom validation must be set BEFORE adding a field using custom validation to any subform. In the example of mod_cxt_settings, custom validation for the item_key is setup with other custom fields and looks like this:
$conf_field_itemkey['add_validation'] = $key_vd_modtype; $conf_field_itemkey['edt_validation'] = $key_vd_modtype;