Table of Contents
Overview
This chapter describes how to work with settings.
You can access to settings from any part of your project code via Singular_Core::_('Settings') component resource.
Getting settings
getSettings() — Get all raw settings
Singular_Core::_('Settings')->getSettings()->system->main->site_default_theme->value;
This example demonstrates how to get all settings ordered by module name and section where:
- system - module name
- main - section name
- site_default_theme - setting name
- value - setting value
getSetting($settingName) — Get setting by name
Singular_Core::_('Settings')->getSetting('site_default_theme');
Gets single setting by name. This approach is modular independence.
getModuleSettings($moduleName) — Get settings by module name
Singular_Core::_('Settings')->getModuleSettings('system')->main->site_default_theme->value;
Gets all settings by module name where:
- system - module name
- main - section name
- site_default_theme - setting name
- value - setting value
getAllSetting() — Get all key/val settings
Singular_Core::_('Settings')->getAllSettings();
Returns all settings as Zend_Config object.
Singular_Core::_('settings')->getAllSettings()->toArray();
The same but as array.
Changing settings
changeSetting($settingName, $value) — Change setting value
Singular_Core::_('Settings')->changeSetting('site_default_theme', 'main');
Change setting value by setting name.
Deleting settings
deleteSetting($settingName) — Delete setting
Singular_Core::_('Settings')->deleteSetting('test');
Delete setting by name.
deleteModuleSettings($moduleName, $sectionName - null) — Delete module settings
Singular_Core::_('Settings')->deleteModuleSettings('main', 'section_name');
Delete all settings of particular module. Also could be used to delete settings by specific settings section if $sectionName argument is specified.
Adding settings
addSettings($settings) — Add settings
$sData = array();
$sData[] = array(
'key' => 'test1',
'value' => 'test',
'title' => 'Title for setting',
'description' => 'Description',
'module' => 'test',
'section' => 'main'
);
$sData[] = array(
'key' => 'test2',
'value' => 'test',
'title' => 'Title for setting',
'description' => 'Description',
'module' => 'test',
'section' => 'main'
);
$sData[] = array(
'key' => 'test3',
'value' => 'test',
'title' => 'Title for setting',
'description' => 'Description',
'module' => 'test',
'section' => 'main'
);
// add settings
Singular_Core::_('Settings')->addSettings($sData);
Adds settings to the database as multidimensional array with is key/value logic. Where:
- key - setting name
- value - setting value
- title - setting title which can be seen for example on admin backend
- value - setting description which describes what logic this setting makes
- module - module accessory
- section - setting section (group)