Merubah Title Menjadi Slug Dengan Codeigniter

Halo Dumenity, selamat datang kembali di website tips dan trik Dumet School. Berjumpa kembali dengan saya pada pembahasan tips seputar dunia website, pada kesempatan kali ini saya akan memberikan tips tentang Merubah Title Menjadi Slug Dengan Codeigniter slug pada website sangatlah penting apalagi kebutuhan fitur SEO. Slug yang bagus akan mudah di temukan oleh mesin pencari, nah kali ini kita akan membuat sebuah fitur pada input data post. Dimana ketika kita input sebuah title otomatis berubah menjadi slug, untuk itu kita perlu menggunakan beberapa fungsi PHP diantaranya trim(), ecplode(), implode() dan juga strtolower().

Dengan menggunakan beberapa fungsi ini kita sudah dapat menjadikan title sebagai slug, baik langsung saja kita inplementasikan Merubah Title Menjadi Slug Dengan Codeigniter pertama – tama buat terlebih dahulu database nya

Merubah Title Menjadi Slug Dengan Codeigniter

Kemudian download codeigniternya, dan lakukan configurasi database nya config/database.php

$db['default'] = array(
'dsn'	=> '',
'hostname' => 'localhost',
'username' => 'dumet',
'password' => 'school',
'database' => 'json_data',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

Kemudian kita buat file controller/Post.php dan load library yang kita butuhkan ketikkan script di bawah ini

defined('BASEPATH') OR exit('No direct script access allowed');
class Post extends CI_Controller {
	public function __construct(){
		parent:: __construct();
		$this->load->database();
		$this->load->helper(array('url','form'));
	}
	public function index()
	{
		$this->load->view('post');
	}

}

Kemudian buat file pada view/post.php dan kita buat form inputnya dengan bootstrap 4

<!DOCTYPE html>
<html>
<head>
	<title></title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
</head>
<body>
	<div class="container">
		<div class="row">
			<div class="col-md-12">
				<h2>Merubah Title Menjadi Slug Dengan Codeigniter</h2>
			  	<?php echo form_open('post');?>
				    <div class="form-group">
				      <label for="title">Title:</label>
				      <input type="text" class="form-control" id="title" placeholder="Enter title" name="title">
				    </div>
				    <div class="form-group">
					  <label for="post">Post:</label>
					  <textarea class="form-control" name="post" rows="5" id="post"></textarea>
					</div>
				    <button type="submit" name="insert" class="btn btn-primary">Submit</button>
			  	<?php echo form_close() ?>
			</div>
		</div>
	</div>
</body>
</html><span id="mce_marker" data-mce-type="bookmark" data-mce-fragment="1">​</span>

Kemudian kita buat proses insert ke database nya pada controller post nya di metod index()

public function index()
	{
		if(isset($_POST['insert'])){
			$title = trim(strtolower($this->input->post('title')));
			$out = explode(" ",$title);
			$slug = implode("-",$out);
			$post  = $this->input->post('post');
			$this->db->insert('post',['title' => $title, 'detail_post' => $post,'slug_title'=>$slug]);
		}
		$this->load->view('post',$data);
	}

Jika sudah save dan masukkan data post nya

Merubah Title Menjadi Slug Dengan Codeigniter

Jika sudah mari kita cek pada database nya

Merubah Title Menjadi Slug Dengan Codeigniter

Dengan begitu title dengan otomatis menjadi slug, nah itulah tips Merubah Title Menjadi Slug Dengan Codeigniter kita jumpa lagi pada artikel selanjutnya. Terimakasih dan sampai jumpa, semoga bemanfaat.

Hernowo Author

Leave a Reply

Your email address will not be published. Required fields are marked *