CodeIgniter mendukung sistem layout yang sederhana, namun sangat fleksibel, yang memudahkan penggunaan satu atau lebih layout halaman dasar di seluruh aplikasi Anda.
Layout mendukung bagian konten yang dapat disisipkan dari tampilan apa pun yang dirender.
Anda dapat membuat layout yang berbeda untuk mendukung satu kolom, dua kolom, halaman arsip blog, dan banyak lagi.
Tata letak tidak pernah langsung dirender. Sebagai gantinya, Anda merender tampilan, yang menentukan tata letak yang ingin diperluas.
Persiapan
AdminLTE 3
Admin LTE dapat di download di link ini. dan extrak, untuk mempermudah pekerjaan kita cukup gunakan halaman blanknya saja. Secara hirarki file blank.html berada pada direktori \AdminLTE-3.2.0\pages\examples\blank.html. File blank.html akan dibagi menjadi beberapa partial untuk dijadikan sebagai template.
Pada langkah ini kita sudah memiliki dua berkas yaitu CodeIgniter dan AdminLTE.
Siapkan template menggunakan blank.html
Intregasikan AdminLTE ke CodeIgniter :
cp AdminLTE-3.2.0/pages/examples/blank.html ci_project/app/Views/default.php
mkdir -p ci_project/public/themes/adminlte3
cp -rf AdminLTE-3.2.0/dist ci_project/public/themes/adminlte3
cp -rf AdminLTE-3.2.0/plugins ci_project/public/themes/adminlte3
Buka file ci_project/app/Views/default.php ubah semua baris ../../ menjadi /themes/adminlte3/
Contoh seperti di bawah ini :
AdminLTE 3 | Blank Page
Setting base_url pada file .env cari baris berikut lalu sesuaikan :
# app.baseURL = ''
app.baseURL = 'http://domain_anda.com'
Edit Controller app/Controllers/Home.php
Controller memanggil view default.php yang berisikan template blank AdminLTE yang sebelumnya sudah dibuat.
Buka browser http://domain_anda.com maka tampilannya seperti di bawah ini :
Pemisahan Parsial
Untuk mempermudah ke depannya, file default.php akan kita buat parsial dengan ilustrasi seperti di bawah ini :
Siapkan file pendukung sbb :
cd ci_project/app/Views
touch dashboard.php
mkdir partials
cd partials
touch header.php sidebar.php topmenu.php footer.php
Struktur folder akan terlihat sbb :
dashboard.php
AdminLTE 3 | Blank Page
= view('partials/topmenu') ?>
= view('partials/sidebar') ?>
Blank Page
- Home
- Blank Page
= $this->renderSection('content') ?>
= view('partials/footer')?>
topmenu.php
sidebar.php
footer.php
Penerapan Template Layout
Setelah menyiapkan template parsial di sebelumnya kita akan membuat penerapannya pada halaman Home.
Siapkan View app/Views/home_view.php
= $this->extend('dashboard') ?>
= $this->section('content') ?>
Title
Start creating your amazing application!
Footer
= $this->endSection() ?>
Perhatikan line 1 dan 2 pada kode di atas :
- extend(‘dashboard’) berarti view di atas akan menggunakan template dashboard.php.
- section(‘content’) & endSection() berarti view akan menampilkan isi section di atas sesuai penempatan fungsi renderSection(‘content’) pada template dashboard.php
Buat atau ubah Controller Home.php