Menambahkan field More di Grocery CRUD- Menambahkan action more pada sebuah content memang perlu,,apalagi jika artikelnya terllau panjang tentu melihatnya saja sudah ogah-ogahan kan? Menambahkan kata " more" yang nantinya ngelink ke halaman lain memang mudah, namun bagaimana kalau membuat link-link an tersebut pada sebuah bahasa pemrograman? Emm, lumayan sulitkan ?namun saya yakin bagi para master-master pemrograman akan sangat mudah melakukannya. Berhubung saya, seseorang yang baru mempelajari sebuah bahasa pemrograman hal tersebut lumayan sulit, oleh karena itu saya mau berbagi tips buat rekan-rekan yang ingin membuatnya menggunakan framework Code Igniter atau C.I
nah lebih jelasnya kita pelajari dulu apa itu C.I.
Pengertian Code IgniterFramework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang programer, tanpa harus membuat fungsi atau class dari awal.
Ada beberapa alasan mengapa menggunakan Framework:
Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll
Lebih bebas dalam pengembangan jika dibandingkan CMS
(Model, View, Controller)
View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.
Nah pastu sudah tidak sabar bukan ingin mencobanya,,
Nah berikut contoh membuat " add_action" di grocery _crud
void add_action( string $label, string $image_url , string $link_url , string $css_class , mixed $url_callback)
Add an action/operation to the list table. The way to do that its simple:
- add the label of your subject, for example "Photo Gallery".
- add an image url . Notice that in the flexigrid theme is a required field.
- add your custom url. This url will be connected with the site_url function and the primary key. For example if you add 'my_controller/photo/' then it will transform to site_url('my_controller/photo/'.$primary_key_for_each_row)
- add a CSS class. Remember that at the theme of datatables a CSS class includes images , for example : ui-icon-image, ui-icon-plus, e.t.c.
- You can even add your own url callback. If you don't want the default transformation of the url, you can use this paremeter to add your own algorithm of the url transformation.
Example:
function offices_management_with_actions()
{
$crud = new grocery_CRUD();
$crud->set_theme('datatables');
$crud->set_table('offices');
$crud->set_subject('Office');
$crud->required_fields('city');
$crud->columns('city','country','phone');
$crud->add_action('More', '', 'demo/action_more','ui-icon-plus');
$crud->add_action('Photos', '', '','ui-icon-image',array($this,'just_a_test'));
$crud->add_action('Smileys', 'http://www.grocerycrud.com/assets/uploads/general/smiley.png', 'demo/action_smiley');
$output = $crud->render();
$this->_example_output($output);
}
function just_a_test($primary_key , $row)
{
return site_url('demo/action/action_photos').'?country='.$row->country;
}
Untuk lebih jelasnya sialhkan buka ke http://www.grocerycrud.com