Membuat Link Komponen
- Administrator
- Component
- 1793 Kali Dilihat
- 0 Komentar
Membuat Link Komponen
Untuk menjawab pertanyaan di group tentang bagaimana membuat link komponen pada dashboard admin, berikut saya buat artikel tersebut.
Sebagai contoh dalam hal ini kita akan membuat link komponen daftar anggota pada dashboard admin, untuk itu silahkan ikuti petunjuk dibawah ini:
Silahkan buka po-content/component/daftaranggota/admin_daftaranggota.php
Perhatikan pada fungsi yang digunakan untuk menampilkan data json pada tabel, berikut adalah snippet pada bagian tersebut:
/**
* Fungsi ini digunakan untuk menampilkan data json pada tabel.
*
* This function use for display json data in table.
*
*/
public function datatable()
{
if (!$this->auth($_SESSION['leveluser'], 'daftaranggota', 'read')) {
echo $this->pohtml->error();
exit;
}
$table = 'daftaranggota';
$primarykey = 'id_daftaranggota';
$columns = array(
array('db' => $primarykey, 'dt' => '0', 'field' => $primarykey,
'formatter' => function($d, $row, $i){
return "<div class='text-center'>
<input type='checkbox' id='titleCheckdel' />
<input type='hidden' class='deldata' name='item[".$i."][deldata]' value='".$d."' disabled />
</div>";
}
),
array('db' => $primarykey, 'dt' => '1', 'field' => $primarykey),
array('db' => 'namalengkap', 'dt' => '2', 'field' => 'namalengkap'),
array('db' => 'phone', 'dt' => '3', 'field' => 'phone'),
array('db' => 'active', 'dt' => '4', 'field' => 'active'),
array('db' => $primarykey, 'dt' => '5', 'field' => $primarykey,
'formatter' => function($d, $row, $i){
return "<div class='text-center'>
<div class='btn-group btn-group-xs'>
<a href='admin.php?mod=daftaranggota&act=edit&id=".$d."' class='btn btn-xs btn-default' id='".$d."' data-toggle='tooltip' title='{$GLOBALS['_']['action_1']}'><i class='fa fa-pencil'></i></a>
<a class='btn btn-xs btn-danger alertdel' id='".$d."' data-toggle='tooltip' title='{$GLOBALS['_']['action_2']}'><i class='fa fa-times'></i></a>
</div>
</div>";
}
),
);
echo json_encode(SSP::simple($_POST, $this->poconnect, $table, $primarykey, $columns));
}
Pada line data 2(namalengkap), tambahkan baris kode berikut:
,
'formatter' => function($d, $row, $i){
return "".$d."<br/><i><a href='".WEB_URL."detailanggota/".$this->postring->seo_title($d)."' target='_blank'>".WEB_URL."detailanggota/".$this->postring->seo_title($d)."</a></i>";
}
Sehingga secara keseluruhan snippet pada fungsi yang digunakan untuk menampilkan data json pada tabel menjadi seperti berikut:
/**
* Fungsi ini digunakan untuk menampilkan data json pada tabel.
*
* This function use for display json data in table.
*
*/
public function datatable()
{
if (!$this->auth($_SESSION['leveluser'], 'daftaranggota', 'read')) {
echo $this->pohtml->error();
exit;
}
$table = 'daftaranggota';
$primarykey = 'id_daftaranggota';
$columns = array(
array('db' => $primarykey, 'dt' => '0', 'field' => $primarykey,
'formatter' => function($d, $row, $i){
return "<div class='text-center'>
<input type='checkbox' id='titleCheckdel' />
<input type='hidden' class='deldata' name='item[".$i."][deldata]' value='".$d."' disabled />
</div>";
}
),
array('db' => $primarykey, 'dt' => '1', 'field' => $primarykey),
array('db' => 'namalengkap', 'dt' => '2', 'field' => 'namalengkap',
'formatter' => function($d, $row, $i){
return "".$d."<br/><i><a href='".WEB_URL."detailanggota/".$this->postring->seo_title($d)."' target='_blank'>".WEB_URL."detailanggota/".$this->postring->seo_title($d)."</a></i>";
}
),
array('db' => 'phone', 'dt' => '3', 'field' => 'phone'),
array('db' => 'active', 'dt' => '4', 'field' => 'active'),
array('db' => $primarykey, 'dt' => '5', 'field' => $primarykey,
'formatter' => function($d, $row, $i){
return "<div class='text-center'>
<div class='btn-group btn-group-xs'>
<a href='admin.php?mod=daftaranggota&act=edit&id=".$d."' class='btn btn-xs btn-default' id='".$d."' data-toggle='tooltip' title='{$GLOBALS['_']['action_1']}'><i class='fa fa-pencil'></i></a>
<a class='btn btn-xs btn-danger alertdel' id='".$d."' data-toggle='tooltip' title='{$GLOBALS['_']['action_2']}'><i class='fa fa-times'></i></a>
</div>
</div>";
}
),
);
echo json_encode(SSP::simple($_POST, $this->poconnect, $table, $primarykey, $columns));
}
perhatikan snippet diatas, dapat kita lihat bahwa dalam komponen daftaranggota ada penambahan element "detailanggota". Sekarang silahkan buka po-content/themes/theme-active/, dan buatlah sebuah file dengan nama detailanggota.php
Berikut adalah script untuk detailanggota.php
<?=$this->layout('index');?>
<section id="page-title" class="page-title-mini" style="margin-top:-80px;">
<div class="container clearfix">
<ol class="breadcrumb">
<li><a href="<?=BASE_URL;?>"><?=$this->e($front_home);?></a></li>
<li><a href="<?=$this->e($social_url);?>"><?=$this->e($page_title);?></a></li>
</ol>
</div>
</section>
<section id="content">
<div class="content-wrap" itemscope itemtype="https://schema.org/Article">
<div class="container clearfix">
<div class="col-md-8 nobottommargin clearfix">
<div class="row">
<div class="col-md-12">
<div class="page-header">
<h1 itemprop="name"><?=$daftaranggota['namalengkap'];?></h1>
</div>
<div class="table-responsive">
<table class="table table-striped table-bordered">
<tbody>
<tr>
<td rowspan="8" class="text-center">
<?php if ($this->e($daftaranggota['picture']) != '') { ?>
<a href="<?=$daftaranggota['picture'];?>" class="left-icon" data-gal="prettyPhoto" data-lightbox="image">
<img src="<?=$daftaranggota['picture'];?>"/>
</a>
<?php } else { ?>
<a href="<?=BASE_URL;?>/<?=DIR_CON;?>/uploads/<?=$daftaranggota['picture'];?>" class="left-icon" data-gal="prettyPhoto" data-lightbox="image">
<img src="<?=BASE_URL;?>/<?=DIR_CON;?>/uploads/<?=$daftaranggota['picture'];?>"/>
</a>
<?php } ?>
</td>
<td>Username</td>
<td>: </td>
<td><?=$daftaranggota['username'];?></td>
</tr>
<tr>
<td>Jabatan</td>
<td>: </td>
<td><?=$daftaranggota['jabatan'];?></td>
</tr>
<tr>
<td>Alamat</td>
<td>: </td>
<td><?=$daftaranggota['kecamatan'];?>, <?=$daftaranggota['desa'];?>, <?=$daftaranggota['rt'];?> / <?=$daftaranggota['rw'];?>.</td>
</tr>
<tr>
<td>Tempat / Tanggal Lahir</td>
<td>: </td>
<td><?=$daftaranggota['tempatlahir'];?> / <?=$this->pocore()->call->podatetime->tgl_indo($daftaranggota['tanggallahir']);?></td>
</tr>
<tr>
<td>Phone</td>
<td>: </td>
<td><?=$daftaranggota['phone'];?></td>
</tr>
<tr>
<td>Instagram</td>
<td>: </td>
<td><?=$daftaranggota['instagram'];?></td>
</tr>
<tr>
<td>WhatsApp</td>
<td>: </td>
<td><?=$daftaranggota['whatsapp'];?></td>
</tr>
<tr>
<td>Facebook</td>
<td>: </td>
<td><a href="<?=$daftaranggota['facebook'];?>" target="_blank" ><?=$daftaranggota['facebook'];?></a></td>
</tr>
</tbody>
</table>
</div>
<div class="row">
<div class="vertical-tabs">
<div class="col-sm-12">
<div class="tab-content" style="border:1px solid #eee;">
<div role="tabpanel" class="tab-pane active" id="content" style="padding:20px;">
<?=htmlspecialchars_decode(html_entity_decode($daftaranggota['content']));?>
</div>
</div>
</div>
</div>
</div>
<h4 class="text-center" style="margin-top:50px;">
<a href="<?=BASE_URL;?>/semuaanggota">Lihat Semua Anggota</a><br/>
Belum Jadi Anggota? <a href="<?=BASE_URL;?>/daftaranggota">Silahkan Daftar!</a>
</h4>
</div>
</div>
</div>
<div class="col-md-4 nobottommargin clearfix">
<!-- Insert Sidebar -->
<?=$this->insert('sidebar');?>
</div>
</div>
</div>
</section>
komponen daftaranggota lengkap silahkan unduh di halaman unduhan!
Silahkan bertanya melalui formulir komentar dan berlangganan gratis melalui formulir subscibe untuk update artikel serta penawaran menarik lainya!