Ejemplo n.º 1
0
 /**
  * 从配置文件中生成新闻表单
  *
  * @param string $action 表单的url
  * @param string $config 配置文件的名字
  * @return object 表单对象
  */
 static function _createFormConfig($id, $action, $config)
 {
     $form = new Form_Admin_Sort($id, $action);
     $fileName = dirname(__FILE__) . DS . "{$config}";
     $form->loadFromConfig(Helper_YAML::load($fileName));
     //查询父类的id号
     if ('article' == $id) {
         $form->addValidations(Articlesorts::meta());
         $form['name']->_label = '文章分类名称';
         $parent = Articlesorts::find("name =?", '茶与文化')->setColumns('id')->asArray()->query();
     } else {
         $form->addValidations(NewSort::meta());
         $parent = NewSort::find("name =?", '业界动态')->setColumns('id')->asArray()->query();
     }
     $form['parent_id']->value = $parent['id'];
     return $form;
 }
 /**
  * 编辑新闻栏目
  */
 function actionEdit()
 {
     //创建表单
     $form = Form_Admin_Sort::createForm('article', url('articlesort/edit'));
     $sortId = (int) $this->_context->id;
     $newsort = Articlesorts::find('id =?', $sortId)->query();
     //导入数据到表单
     $form->import($newsort);
     if ($this->_context->isPOST() && $form->validate($_POST)) {
         try {
             //更新模型的数据
             $newsort->changeProps($form->values());
             $newsort->save();
             return $this->_redirectMessage('编辑文章类别名成功', '如果你不做出选择系统将自动跳转', url('articlesort/index'), 3);
         } catch (QValidator_ValidateFailedException $ex) {
             $form->invalidate($ex);
         }
     }
     $this->_view['form'] = $form;
 }