示例#1
0
 /**
  * Form initialization
  *
  * @return void
  */
 public function init()
 {
     $url = Zend_Controller_Front::getInstance()->getRouter()->assemble(array('module' => "flex", 'controller' => 'panel', 'action' => 'layout'), 'default');
     $this->setAction($url)->setMethod('post');
     $this->setLegend(sprintf(Zoo::_('Edit %s'), $this->target->name));
     $settings_elements = $this->target->getLayout()->getSettingsFormElements();
     $this->addElements($settings_elements);
     $settings = $this->target->getLayout()->settings;
     $settings['structure'] = json_encode($settings['structure']);
     $legend = Zoo::_('Layout options');
     $this->addDisplayGroup($settings_elements, 'layout_settings', array('legend' => $legend));
     $regions = $this->target->getLayout()->getAllRegions();
     $allregions = array();
     foreach (array_keys($regions) as $name) {
         $region = new Zend_Form_Element_Select('region_' . $name);
         $region->setLabel($name)->setMultiOptions($this->getRegionStyles());
         $this->addElement($region);
         $allregions[] = 'region_' . $name;
     }
     $legend = Zoo::_('Region styles');
     $this->addDisplayGroup($allregions, 'region_form', array('legend' => $legend));
     $submit = new Zend_Form_Element_Submit('save');
     $submit->setLabel('save')->setOrder(100);
     $this->addElement($submit);
     if ($this->target->id > 0) {
         $id_ele = new Zend_Form_Element_Hidden('id');
         $id_ele->setValue(intval($this->target->id));
         $this->addElement($id_ele);
     }
     $this->populate($settings);
     $this->populate($this->target->toArray());
 }
示例#2
0
 /**
  * Get block-specific options
  * @return Zend_Form_Subform
  */
 function getOptionsForm()
 {
     $class = $this->target->type;
     $object = new $class($this->target->toArray());
     return $object->getOptions();
 }