Requires: phpFox version 4.6.0 or higher.
Supported Types
- string
- large_string
- password
- integer
- boolean
- currency
- select
- array
- multi_text
Deprecated Types
Below types won't be supported anymore since phpFox version 4.7.0.
- drop_with_key
- input:text
- input:radio
Sample Code
string
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' => 'example description', 'type' => 'string', 'value' => 'default_value', ], ];
large_string
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' => 'example description', 'type' => 'large_string', 'value' => 'default_value', ], ];
password
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' => 'example description', 'type' => 'password', 'value' => 'default_value', ], ];
integer
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' => 'example description', 'type' => 'integer', 'value' => 10, ], ];
boolean
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' =>'example description', 'type' => 'boolean', 'value' => 0, ], ];
currency
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' => 'example description', 'type' => 'currency', 'value' => ['USD' => 0], ], ];
select
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' => 'example description', 'type' => 'select', 'value' => 'default_value', 'options' => [ 'value_1' => 'Value label 1', 'value_2' => 'Value label 2', ] ], ];
array
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' =>'example description', 'type' => 'array', 'value' => [1,2,3,4], ], ];
multi_text
$settings = [ 'your_setting_name' => [ 'var_name' => 'example_name', 'info' => 'example label', 'description' =>'example description', 'type' => 'multi_text', 'value' => [ 'value_1' => 'Value label 1', 'value_2' => 'Value label 2', ], ], ];
Validation
You can support to validate your apps settings when admin change them in Admincp:
- Add a plugin/hook with name
validator.admincp_settings_{{app
}}
please replace
app
with your app alias.
For example, below is the hook for validating settings of Basic Ads
app:
// file name: validator.admincp_settings_ad.php $aValidation = [ 'ad_multi_ad_count' => [// setting var name 'def' => 'int:required', //the setting is required and must be an integer number 'min' => '1', // the in value for this setting is 1. 'title' => _p('"Ads min Multi-Ad Location" must be greater than 0'), thrown message when admin enter invalid value. ] ];