Kalau sebelumnya kita sekilas membahas konsep “block” di Smarty, sekarang mari kita bahas lebih jauh tentang CodeIgniter.
Mari kita mulai dulu dari struktur direktori pada aplikasi web sebagai berikut:
Setelah anda mendownload CI v2.x dan mengekstrak filenya, anda akan mendapatkan struktur direktori utama sebagai berikut:
CodeIgniter_2.x.x/
/application
/system
/user_guide
Direktori yang akan menjadi bagian development adalah direktori “application” yang memiliki struktur direktori sebagai berikut:
CodeIgniter_2.x.x/
/application/
/cache (tempat upload media dan untuk file-file sementara)
/config (tempat konfigurasi CI)
/controllers (tempat kontroller CI)
/core (tempat untuk membuat ekstensi CI sendiri)
/errors (tempat untuk file-file html statis saat terjadi error)
/helpers (tempat untuk membuat ekstensi helper CI sendiri)
/hooks (tempat untuk ekstensi hook CI)
/language (tempat bahasa internasional)
/libraries (tempat untuk membuat librari sendiri, termasuk librari mediasi ke third_party)
/logs (tempat log aplikasi)
/models (tempat model query data)
/properties (direktori ini saya tambahkan sendiri untuk tempat konfigurasi statis dan untuk mengumpulkan sql query database)
/third_party (tempat untuk menaruh library tambahan dari pihak ketiga, seperti Smarty, mpdf, dan lain-lain)
/views (tempat view baik template, theme, css, dan client-scripting)
Berikut adalah file-file yang saya tambahkan untuk mengilustrasikan integrasi CI dengan Smarty template engine:
CodeIgniter_2.x.x/
/application/
/cache
/config
/controllers/
/container.php
/core/
/MY_Controller.php
/MY_Loader.php
/errors
/helpers
/hooks
/language
/libraries/
/Smarty.php
/Support.php
/logs
/models
/properties/
/queries.properties
/support.properties
/third_party/
/smarty/ (librari-librari Smarty ada di sini)
/views/
/contents/ (berisi halaman turunan dari halaman utama "container.html" di direktori theming)
/home.html
/left_block.html
/middle_block.html
/right_block.html
/scripts/ (javascript akan ditempatkan di sini)
/styles/ (framework css blueprint ditempatkan di sini)
/themes/ (direktori untuk theming)
/default/ (theme bawaan)
/container.html
Anda bisa mendownload folder application tersebut di link berikut (rename file menjadi application_ci-v2.0.3_smarty-v3.1.3.tar.bz2) yang sudah diintegrasikan dengan library 3rd party Smarty v3.x.
Anda bisa mengekstrak dan mengganti folder “application” dari file CodeIgniter v2.x yang telah anda download, kemudian silahkan ikuti URL dimana anda menempatkan web site anda di lokal komputer.
Selamat mencoba!