From 5e3b82c0770164fd283c8a32b18d3ac5b8418b06 Mon Sep 17 00:00:00 2001 From: Seamus Lee Date: Fri, 28 Dec 2018 14:51:11 +1100 Subject: [PATCH 1/2] Add in notes about support for KeyColumn parameter when using option group as part of a setting pseudoconstant --- docs/framework/setting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/framework/setting.md b/docs/framework/setting.md index 981cc5a0..ddd7f661 100644 --- a/docs/framework/setting.md +++ b/docs/framework/setting.md @@ -63,7 +63,7 @@ The Supported Properties for settings are: | `html_type` | Html type (admin form)| This is the preferred way to describe the html type as it is not quick form specific. It will be used it present. Syntax is lower case. e.g 'select', 'radio', 'checkboxes', 'checkbox', 'text', 'textarea', 'entity_reference| | `quick_form_type` | Widget type (admin form)| YesNo, CheckBox, CheckBoxes, Select, EntityRef. This is not required if html_type (preferred) is set| |`settings_pages`|Admin Pages to render this setting on|e.g ['event' => ['weight' => 10]]. This works if the Generic form is used (see further down)| -|`pseudoconstant`|Provides information to build a list of available options| This is the perferred methodology for lists of options and currently supports either a callback - e.g ```['callback' => 'CRM_Core_SelectValues::geoProvider']``` or an option group name [`'optionGroupName' => 'advanced_search_options'`]. It does not currently support the full range of values for this key that the DAO schema does, by ommission rather than design| +|`pseudoconstant`|Provides information to build a list of available options| This is the preferred methodology for lists of options and currently supports either a callback - e.g ```['callback' => 'CRM_Core_SelectValues::geoProvider']``` or an option group name [`'optionGroupName' => 'advanced_search_options'`]. As in the case of the DAOs you can also when specifying an `optionGroupName` you can specify `keyColumn` which specifies which column within `civicrm_option_value` to use as the key, by default this will be the value column. It does not currently support the full range of values for this key that the DAO schema does, by ommission rather than design| |`options`|provides an array of available options|This is not the preferred methodology but make make sense for very simple lists. | |`entity_reference_options`|extra data to pass when adding an entity reference|e.g if the entity is not contact this make be needed as in `['entity' => 'group', 'select' => array('minimumInputLength' => 0)]`| |`documentation_link`|Array of information to build the 'learn more' link| 'page' is required, if on the wiki 'resource' is also needed - e.g 'documentation_link' => ['page' => 'Multi Site Installation', 'resource' => 'wiki'],| From d9d60614fd7eed3a0787c3bc2e6c3db7fc1c8ebb Mon Sep 17 00:00:00 2001 From: Seamus Lee Date: Sun, 30 Dec 2018 12:56:07 +1100 Subject: [PATCH 2/2] Rework documentation and add link to DAO as well --- docs/framework/setting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/framework/setting.md b/docs/framework/setting.md index ddd7f661..2709d1c0 100644 --- a/docs/framework/setting.md +++ b/docs/framework/setting.md @@ -63,7 +63,7 @@ The Supported Properties for settings are: | `html_type` | Html type (admin form)| This is the preferred way to describe the html type as it is not quick form specific. It will be used it present. Syntax is lower case. e.g 'select', 'radio', 'checkboxes', 'checkbox', 'text', 'textarea', 'entity_reference| | `quick_form_type` | Widget type (admin form)| YesNo, CheckBox, CheckBoxes, Select, EntityRef. This is not required if html_type (preferred) is set| |`settings_pages`|Admin Pages to render this setting on|e.g ['event' => ['weight' => 10]]. This works if the Generic form is used (see further down)| -|`pseudoconstant`|Provides information to build a list of available options| This is the preferred methodology for lists of options and currently supports either a callback - e.g ```['callback' => 'CRM_Core_SelectValues::geoProvider']``` or an option group name [`'optionGroupName' => 'advanced_search_options'`]. As in the case of the DAOs you can also when specifying an `optionGroupName` you can specify `keyColumn` which specifies which column within `civicrm_option_value` to use as the key, by default this will be the value column. It does not currently support the full range of values for this key that the DAO schema does, by ommission rather than design| +|`pseudoconstant`|Provides information to build a list of available options| This is the preferred methodology for lists of options and currently supports either a callback - e.g ```['callback' => 'CRM_Core_SelectValues::geoProvider']``` or an option group name [`'optionGroupName' => 'advanced_search_options'`]. When specifying an `optionGroupName` you can optionally specify `keyColumn` to return a column from `civicrm_option_value` to use as the key. By default the `keyColumn` is the `value` column. The format is the same as that used for [DAO](/framework/database/schema-definition.md#table-field-pseudoconstant)| |`options`|provides an array of available options|This is not the preferred methodology but make make sense for very simple lists. | |`entity_reference_options`|extra data to pass when adding an entity reference|e.g if the entity is not contact this make be needed as in `['entity' => 'group', 'select' => array('minimumInputLength' => 0)]`| |`documentation_link`|Array of information to build the 'learn more' link| 'page' is required, if on the wiki 'resource' is also needed - e.g 'documentation_link' => ['page' => 'Multi Site Installation', 'resource' => 'wiki'],|