예제 #1
0
 /**
  *
  * @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]);
         }
     }
 }
예제 #2
0
 /**
  * @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']);
     }
 }