Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

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.
];
  • No labels