/** * 添加新闻类别的属性 * */ function getSorts() { $sort = Articlesorts::find('parent_id =1')->setColumns('id,name')->asArray()->getAll(); $arr = array('id' => 0, 'name' => '请选择类别'); array_unshift($sort, $arr); $sort = Helper_Array::toHashmap($sort, 'id', 'name'); return $sort; }
/** * 从配置文件中生成新闻表单 * * @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; }