Пример #1
0
 /**
  * 从配置文件中生成新闻表单
  *
  * @param string $action 表单的url
  * @param string $config 配置文件的名字
  * @return object 表单对象
  */
 static function _createFormConfig($action, $config)
 {
     $form = new Form_Admin_News('create_news', $action);
     $fileName = dirname(__FILE__) . DS . "{$config}";
     $form->loadFromConfig(Helper_YAML::load($fileName));
     $form->addValidations(News::meta());
     //查询类别
     $sort = NewSort::find()->order('name ASC')->getAll();
     $sort = Helper_Array::toHashmap($sort, 'id', 'name');
     $form['newbody']['sort_id']->items = $sort;
     return $form;
 }
Пример #2
0
 /**
  * 从配置文件中生成新闻表单
  * @param string $id 表单的id 号
  * @param string $action 表单的url
  * @param string $config 配置文件的名字
  * @return object 表单对象
  */
 static function _createFormConfig($id, $action, $config)
 {
     $form = new Form_Admin_News($id, $action);
     $fileName = dirname(__FILE__) . DS . "{$config}";
     $form->loadFromConfig(Helper_YAML::load($fileName));
     //验证的模型选择
     if ($id == 'news') {
         $form->addValidations(News::meta());
     } else {
         $form->addValidations(Articles::meta());
     }
     //类别表的选择
     if ('news' == $id) {
         $news = new News();
         $form['sort_id']->items = $news->sorts;
     } else {
         $article = new Articles();
         $form['sort_id']->items = $article->sorts;
     }
     return $form;
 }
 /**
  * 发布新闻
  *
  */
 function actionCreate()
 {
     $this->_viewname = 'edit';
     $form = Form_Admin_News::createForm('news', url('news/create'));
     if ($this->_context->isPOST() && $form->validate($_POST)) {
         //是否post提交及通过验证
         try {
             $news = new News($form->values());
             $user = $this->_app->currentUser();
             $news['user_id'] = $user['id'];
             //				$news['newsort']['news_count']=
             //更新该栏目下的新闻条数
             $newSort = NewSort::meta()->find('id =?', $form['sort_id']->value)->query();
             $newSort->news_count++;
             $newSort->save();
             //保存更新
             $news->save();
             return $this->_redirectMessage('恭喜你发布新闻成功', '如果你不做出选择系统将自动跳转', url('news/index'), 3);
         } catch (QValidator_ValidateFailedException $ex) {
             $form->invalidate($ex);
         }
     }
     $this->_view['form'] = $form;
 }