/** * * @param $data */ protected function saveSettings($data) { $config = $this->getServiceLocator()->get('Config'); /** @var \Msingi\Cms\Settings $settings */ $settings = $this->getServiceLocator()->get('Settings'); $settingsConfig = $config['settings']; foreach ($settingsConfig as $section => $spec) { foreach ($spec['values'] as $value => $valueSpec) { $valueName = Settings::formatValueName($value); $settings->set($value, $data[$section][$valueName]); } } }
/** * @param $spec */ public function createControls($spec) { foreach ($spec['values'] as $value => $valueSpec) { $name = Settings::formatValueName($value); $options = array('name' => $name, 'options' => array('label' => isset($valueSpec['label']) ? $valueSpec['label'] : ''), 'attributes' => array('class' => isset($valueSpec['input_class']) ? $valueSpec['input_class'] : 'form-control')); if (isset($valueSpec['type'])) { $options['type'] = $valueSpec['type']; } if (isset($valueSpec['default'])) { $default = $valueSpec['default']; $options['options']['value'] = $default; } if (isset($valueSpec['value_options'])) { $options['options']['value_options'] = $valueSpec['value_options']; } if (isset($valueSpec['help'])) { $options['options']['help'] = $valueSpec['help']; } $this->add($options); // $this->inputFilter[$name] = array('required' => isset($valueSpec['required']) && $valueSpec['required']); } }