Mungkin dari judul di atas belum mengerti kira-kira apa maksudnya. Begini, saya jelaskan sedikit. Saya sedang membuat sebuah halaman admin untuk posting artikel. Biasanya artikel ada yang menggunakan gambar sebagai tambahan, ada juga yang tidak. Ketika menggunakan teks editor seperti TinyMce, maka cara ini sudah tidak perlu digunakan lagi. Terus terang saya lebih menyukai menggunakan upload manual untuk memberikan gambar pada sebuah artikel, karena bagi saya akan lebih dinamis dan gampang pengaturan style dengan menggunakan CSS nya. Karena jika menggunakan teks editor, maka lebar dan tinggi tidak bisa diatur secara menyesuaikan lebar yang diatur dengan CSS, karena lebar dan tinggi sudah disisipkan oleh teks editor tersebut.
Ketika menggunakan upload manual, maka ada pilihan antara menyertakan gambar dalam artikel maupun tidak menyertakan. Misalkan dalam controller:
if(!empty($_FILES['userfile']['name']))
{ //diisi dengan artikel dengan upload gambar}
else
{ // diisi dengan artikel tanpa upload gambar}
Ketika posting artikel dengan gambar, saya menggunakan nama gambar sebagai parameter untuk fungsi modelnya. Ketika posting tanpa gambar, maka model tadi sudah tidak dapat digunakan karena tanpa parameter. Jika membuat fungsi model baru, maka akan menambah source.
Untuk itu agar kedua posting dengan dan tanpa gambar tersebut dapat menggunakan fungsi model yang sama, maka dapat membuat sebuah fungsi model dengan optional parameter. Maksudnya adalah parameter fungsi tersebut bisa atau tidak digunakan.
function posting($foto=NULL)
{
$title = ascii_to_entities(addslashes($this->input->post('judul')));
$this->db->query("INSERT INTO artikel (title,gambar)
VALUES ('$title','$foto')");
}
Pada controller ketika posting dengan upload gambar berarti
$this->martikel->posting($foto);
dan ketika tidak menggunakan gambar
$this->martikel->posting();
Jadi tidak perlu boros source karena hanya menggunakan satu fungsi model saja. Semoga bermanfaat
{
$id= $this->input->post(‘kode’);
$title = ascii_to_entities(addslashes($this->input->post(‘judul’)));
$status= $this->input->post(‘status’);
$posting = get_cookie(‘Id’, TRUE);
$this->db->query(“INSERT INTO artikel (id,title,status,posting,gambar,thumbnail,size,width,height)
VALUES (‘$id’,’$title’,’$status’,’$posting’,’$foto’,’$thumbnail’,’$filesize’,’$width’,’$height’)”);
}
