我正在使用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次观看吗?
我使用_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)
| 归档时间: |
|
| 查看次数: |
13828 次 |
| 最近记录: |