The Heart of Your Product

Documentation

Download in PDF

Download local copy of SCore docs in one file

ZF Documentation

Read It

Explore ZF manuals for native features

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)