Codeigniter:一个用于添加和编辑帖子的视图

Mot*_*ive 10 php codeigniter

我正在使用Codeigniter中的CMS,其中一个主要部分是用于创建和编辑帖子的表单.

我一直在计划使用相同的视图文件,因为所有元素都是共享的.唯一的区别是创建时表单是空白的,并且在编辑时填充它.这是正确的方法吗?

我正在考虑为每个方法设置一个方法,所以发布/创建和发布/编辑($ id).

在post控制器的create方法中,我有这样的所有表单数据(用于错误):

  $this->data['item_title'] = array(
    'name' => 'item_title',
    'id' => 'item_title',
    'type' => 'text',
    'value' => $this->form_validation->set_value('item_title'),
  );
Run Code Online (Sandbox Code Playgroud)

我正在考虑改变值来保存数据库值而不是set_value(),所以类似于:

public function edit($id) {

$post_data = $this->post_model->get_post_data($id)

      $this->data['item_title'] = array(
        'name' => 'item_title',
        'id' => 'item_title',
        'type' => 'text',
        'value' => $post_data['post_title'],
      );
}
Run Code Online (Sandbox Code Playgroud)

我是在正确的轨道上还是有更好的方法来解决这个问题?我应该只使用2次观看吗?

twm*_*loy 7

我使用_form.php由新的编辑控制器操作共享的部分.在两个动作上我有相同的验证,所以我将它们移动到控制器构造函数,然后对于每个输入我只使用一个三元运算符,说明是否$title提供现有值然后<input>使用它填充值,否则使用codeigniter set_value()助手填充验证值.

<input type="text" name="title" value="<?php echo isset($title) ? set_value("title", $title) : set_value("title"); ?>" />
Run Code Online (Sandbox Code Playgroud)