Codeigniter 添加后的Crud默认值
我需要添加默认图像后,若用户并没有选择一个图像上传。 字段以加载图像(可选)。 我怎样才能做到 我使用这个控制器。Codeigniter 添加后的Crud默认值,codeigniter,grocery-crud,Codeigniter,Grocery Crud,我需要添加默认图像后,若用户并没有选择一个图像上传。 字段以加载图像(可选)。 我怎样才能做到 我使用这个控制器。 public function news() { $cur_user_id['user_id'] = $this->ion_auth->user()->row()->user_id; $this->db->update('news', $cur_user_id); $crud = new groc
public function news() {
$cur_user_id['user_id'] = $this->ion_auth->user()->row()->user_id;
$this->db->update('news', $cur_user_id);
$crud = new grocery_CRUD();
$crud->set_table('news')
->display_as('title', 'Заголовок')
->display_as('content', 'Текст')
->display_as('date', 'Дата')
->display_as('urlpict', 'Изображение')
->display_as('hide', 'Отображение')
->display_as('tags', 'Теги')
->display_as('add_new_tags', 'Добавить новые теги')
->display_as('menu_id', 'Раздел меню');
$crud->unset_columns('user_id');
$crud->required_fields('title', 'content', 'date', 'hide');
//relation
$crud->set_relation('menu_id', 'my_menu', 'name');
$crud->set_relation_n_n('tags', 'tag2art', 'tags', 'art_id', 'tag_id', 'tag');
//configuration for uploading
$this->config->set_item('grocery_crud_file_upload_allow_file_types', 'gif|jpeg|jpg|png');
$crud->set_field_upload('urlpict', 'assets/uploads/images');
//callback function
$crud->callback_after_upload(array($this, 'func_callback_after_upload'));
$state = $crud->getState();
$state_info = $crud->getStateInfo();
if ($state == 'add') {
$crud->fields('title', 'content', 'date', 'urlpict', 'hide', 'tags', 'add_new_tags', 'menu_id');
$crud->callback_add_field('add_new_tags', array($this, 'add_field_callback_1'));
} else {
$crud->unset_fields('add_new_tags', 'views', 'user_id');
}
$output = $crud->render();
$this->load->view('administrator/news', $output);
}
这是我的回调函数
function func_callback_after_upload($uploader_response, $field_info, $files_to_upload)
{
$config['image_library'] = 'gd2';
$config['source_image'] = $field_info->upload_path . '/' . $uploader_response[0]->name;
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 175;
$config['height'] = 175;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
return true;
}
矿山解决方案 相反,
$crud->更新后回调(数组($this,'default\u img')代码>
我在插入后使用了$crud->callback\u(数组($this,'default\u img')代码>
和我的控制器
function default_img($post_array, $primary_key) {
if (!$this->input->post('urlpict')) {
$default_img = array(
"id" => $primary_key,
"urlpict" => "news_default.png"
);
$this->db->update('news', $default_img, array('id' => $primary_key));
return true;
}
}
如何设置下载的默认值?$crud->set_field_upload('urlpict','assets/uploads/images');我不认为Codeigniter有这样的功能,但您可以检查是否为文件字段选择了一个文件,并相应地执行您的逻辑。若文件被选中,那个么你们可以上传选中的文件,否则你们可以上传默认的fileLogical解决方案,我想这么做,但并非不可能<代码>代码
$crud->更新后回调(数组($this,'default\u img'))code
callback\u函数default\u img($post\u array,$primary\u key){if(!$this->input->post('urlpict')){$default\u img=array(“id”=>$primary\u key,“urlpict”=>“news\u default.png”);$this->db->update('news',$default img);return true;}}}但没有我没有得到的结果