Membuat Tag dengan Codeigniter
Assalamualaykum.. ^^
Disclaimer : Tulisan ini ditujukan bagi para pemula seperti saya agar tidak melupakan ilmu yang telah saya dapatkan
Pada postingan kali ini saya akan mengulas tentang cara membuat tag pada suatu aplikasi web yang berbasis php.
Apa itu tag? Tag adalah adalah kata kunci (keyword) yang gunanya untuk mempermudah pengunjung melakukan pencarian artikel atau konten suatu web. Dan yang akan saya jabarkan disini hanya fitur tagnya saja, belum termasuk relasi dengan artikelnya
*peace
Pada contoh ini saya akan menggunakan framework codeigniter dengan taggly library.
- Pastikan bahwa Anda telah mendownload Codeigniter, extract pada folder htdocs wwwatau atau, dalam contoh ini saya me-rename foldernya menjadi belajar_ci.
- Download library taggly dan letakkan di folder application/libraries.
- Buat database mysql dengan nama : taggly dan satu buah tabel dengan nama tags. Field weight merupakan jumlah banyaknya tag terpakai di artikel (contoh). Isikan beberapa tag dan weightnya misalkan 10 record saja.
DROP TABLE IF EXISTS `tags`; CREATE TABLE `tags` ( `tag_id` int(11) NOT NULL AUTO_INCREMENT, `tag_name` varchar(255) DEFAULT NULL, `weight` int(11) DEFAULT NULL, PRIMARY KEY (`tag_id`) ) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=latin1;
Lakukan konfigurasi pada file-file berikut ini [application/config]:
- config.php (base url) :
$config['base_url'] = "http://localhost/belajar_ci/";
- database.php (mengatur koneksi ke database berita secara default) :
$db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = ""; $db['default']['database'] = "taggly"; $db['default']['dbdriver'] = "mysql"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ""; $db['default']['char_set'] = "utf8"; $db['default']['dbcollat'] = "utf8_general_ci";
- autoload.php (untuk pemanggilan langsung (autoload) beberapa komponen yang diperlukan seperti library, helper dan model) :
$autoload['libraries'] = array('database','taggly');
$autoload['helper'] = array('url');
$autoload['model'] = array('tagmodel');
- Kemudian, kita buat untuk modelnya sebagai berikut, simpan dengan nama tagmodel.php :
<?php
class Tagmodel extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
//Get list tag
function GetListTag()
{
$this->db->select('*');
$this->db->from('tags');
$getData = $this->db->get();
if($getData->num_rows() > 0)
return $getData->result_array();
else
return null;
}
- Untuk controllernya, simpan dengan nama tags.php :
</pre> <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Tag extends CI_Controller { public function index() { $data['TagClouds'] = $this->tagmodel->GetListTag(); $this->load->vars($data); $this->load->view('view_tag'); } } /* End of file tag.php */ /* Location: ./application/controllers/tag.php */ <pre> - Kemudian yang terakhir adalah untuk viewnya, simpan dengan nama view_tag.php
<?php foreach($TagClouds as $tags): $tagsArray[] = array($tags['weight'], $tags['tag_name'], '#'); endforeach; //Output Taggly Cloud echo $this->taggly->cloud($tagsArray); ?>
Dan hasilnya kira-kira seperti ini (klik pada gambar untuk memperbesar):
Taggly library ini akan mengenerate weight pada tag dan menyesuaikan ukurannya pada tampilan.
Tadinya pengen ditambahin pakai CSS tag atau Jquery Tag Cloud tapi kapan-kapan aja lah ya.. 
- Posted in: Codeigniter ♦ PHP ♦ Web Tutorial
- Ditandai:codeigniter, membuat tag, php
Wah artikelnya mengena banget neh mba, sama dengan yang lagi aku buat, paling tidak aku dapet masukan dari sisi databasenya…
salam kenal mba, kerja programmer dimana ya ? …
di B*ppenas
jadi ini mah kita bikin database tag nya yah kak ? tag sebuah postingan, secara otomatis digenerate tag nya oleh taggly nya, bukan tiap postingan kita tentuin sendiri tag nya yang mana … (begitu bukan? apa salah? hehe) …
tabel tagsnya cuma sebagai referensi aja, kan aku udah bilang di postingannya belum dibuatkan relasi dengan artikelnya
hehe
mau komentar kok bengong liat postingan ini -___-