Artikel tutorial ini dibuat sesuai dengan pertanyaan teman saya, si pulasaren.. yaitu bagaimana menampilkan isi konten pada halaman home.. caranya cukup mudah .. untuk lebih memudahkan saya menggunakan teknik header location .. maksudnya apa ya??.. misal Anda mengetik situs url: http://agussaputra.co.cc maka akan diarahkan kepada http://agussaputra.co.cc/homes, seperti pada kalian mengakses situs web ini.. dari penamaan url sudah mulai kelihatan,, Ya benar .. kita menambahkan file model dan controller homes.. yuk tancapp... buat file model terlebih dahulu dan simpan dengan nama home.php ke dalam appmodels. adapun skripnya sbb:
<?php
class Home extends AppModel {
var $useTable = false;
}
?>
kita gunakan var $useTable = false; karena kita tidak menggunakan tabel dalam database (memank sebenarnya tidak ada nama tabel homes).. dengan mengetikkan skrip tersebut, maka penggunaan tabel akan ditiadakan..
selanjutnya buat file controller dengan nama homes_controller.php ke dalam appcontrollers. adapun skripnya yaitu seperti biasa Anda menulis skrip untuk menampilkan data. contohnya dalam hal ini, saya ingin menampilkan promosi terbaru..
<?php
class HomesController extends AppController {
var $name = ‘Homes’;
function index() {
$this->loadModel(‘Promotion’);
$this->set(‘promotions’,
$this->Promotion->find(‘all’, array (
‘limit’ => 2,
‘order’ => array (‘Promotion.id DESC’))));
}
}
?>
selanjutnya langkah terakhir kita buat folder baru dengan nama homes didalam appviews. selanjutnya buat file index.ctp ke dalam folder homes yang telah dibuat tersebut. untuk skripnya biasa seperti yang Anda ketikkan untuk nampilin data, contohnya:
<h4>Promo Baru</h4>
<?php
foreach ($promotions as $promotion):
$keterangan = $promotion[‘Promotion’][‘keterangan’];
$keterangan = substr ($keterangan, 0, 250);
$promo = $promotion[‘Promotion’][‘nama’];
?>
<table width="100%">
<tbody>
<tr>
<td align="justify"><?php echo $this->Html->link($promo, array(‘action’ => ‘../promotions/view’, $promotion[‘Promotion’][‘id’])); ?>
<?php echo $keterangan; ?></td>
</tr>
</tbody>
</table>
<?php endforeach; ?>
nah langkah terakhir, Anda buat home.ctp untuk mengarahkan akses kepada halaman homes, simpan home.ctp tersebut ke dalam folder appviewspages. adapun skripnya sbb:
<?php
header(‘location:homes’);
?>
home.ctp tersebut asli bawaan CakePHP untuk memulai suatu pekerjaan bersifat statis, karena jika ada file home.ctp didalam folder appviewspages, maka otomatis file home.ctp tersebut yang akan didahulukan untuk dijalankan (statis bukan dinamis) ...
Semoga Bermanfaat..
angun
mangstab mas agus tutorialnya ijin sedot lg hehehe
Agus Saputra
oke pul.. wkwkwkwkwaaa..
ronal
mau tanya donk mas adakah nanti di buku pertamnya pembahasan project kayak cms lokomedia
Agus Saputra
ronal @ nanti pada buku pertama, ada pembahasan proyek web, tp tidak kaya CMS Lokomedia. sesuai judul buku "Teknik Cepat".. tapi saya juga sudah ada rencana untuk buku selanjutnya untuk integrasi CakePHP dengan CMS Lokomedia.. :)
ronal
oh kpn terbitnya mas oia..mantap tuch integrasi cms lokoemdia sama cakephp
mau tanya donk mas gmna ya cara website bikin 2 bahasa english-indonesia
Agus Saputra
ronal @ maaf mas, terus terang saya belum pernah menyentuh tentang pembuatan multibahasa. namun saya pernah baca2, penggunaan multi bahasa itu tidak lepas dari penggunaan SESSION.. mungkin mas bisa coba surfing di internet, mungkin ada salah satu solusinya .. :)
Agus Saputra
oh iya mas, klo pembuatan 2 bahasa, paling tidak sy hanya tau multi bahasa pada struktur navigatornya (menu).. sedangkan klo isi kontennya, saya juga sdg mempelajari ..
ronal
oh gtu ya mas di tunggu ya bukunya jgn lama2 mau belajar cake php........
Agus Saputra
Terima kasih mas :) ditunggu aja ya..
tya
mas kpn buku lanjutan cake ny terbit?
Agus Saputra
seluruh naskah Lanjutan CakePHP, sudah sy serahkan semua kok sama Lokomedia, menurut jadwal di Lokomedia, sekitar Juli 2011.. skr sy sedang mencoba untuk menulis Lanjutan CakePHP versi 3.. :-) doakan lancar ya ^^
alfa luki
Warning (2): include_once(C:\xampp\htdocs\cakephp\app\config\dat abase.php) [function.include-once]: failed to open stream: No such file or directory [CORE\cake\libs\model\connection_manager.php, line 23]
Code | Context
*/
require LIBS . 'model' . DS . 'datasources' . DS . 'datasource.php';
include_once CONFIGS . 'database.php';
$file = "C:\xampp \htdocs\cakephp\cake\libs\model\connection_manager .php"
include_once - CORE\cake\libs\model\connection_manager.php, line 23
require - CORE\cake\libs\model\connection_manager.php, line 23
App::__load() - CORE\cake\libs\configure.php, line 1060
App::__find() - CORE\cake\libs\configure.php, line 1019
App::import() - CORE\cake\libs\configure.php, line 955
require - CORE\cake\libs\model\model.php, line 28
App::__settings() - CORE\cake\libs\configure.php, line 1146
App::import() - CORE\cake\libs\configure.php, line 916
ClassRegistry::init() - CORE\cake\libs\class_registry.php, line 141
Controller::loadModel() - CORE\cake\libs\controller\controller.php, line 637
Controller::constructClasses() - CORE\cake\libs\controller\controller.php, line 493
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 186
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 171
[main] - APP\webroot\index.php, line 83
Warning (2): include_once() [function.include]: Failed opening 'C:\xampp\htdocs\cakephp\app\config\database.p hp' for inclusion (include_path='C:\xampp\htdocs\cakephp;C:\xamp p\htdocs\cakephp\app\;.;C:\xampp\php\pear\') [CORE\cake\libs\model\connection_manager.php, line 23]
Code | Context
*/
require LIBS . 'model' . DS . 'datasources' . DS . 'datasource.php';
include_once CONFIGS . 'database.php';
$file = "C:\xampp \htdocs\cakephp\cake\libs\model\connection_manager .php"
include_once - CORE\cake\libs\model\connection_manager.php, line 23
require - CORE\cake\libs\model\connection_manager.php, line 23
App::__load() - CORE\cake\libs\configure.php, line 1060
App::__find() - CORE\cake\libs\configure.php, line 1019
App::import() - CORE\cake\libs\configure.php, line 955
require - CORE\cake\libs\model\model.php, line 28
App::__settings() - CORE\cake\libs\configure.php, line 1146
App::import() - CORE\cake\libs\configure.php, line 916
ClassRegistry::init() - CORE\cake\libs\class_registry.php, line 141
Controller::loadModel() - CORE\cake\libs\controller\controller.php, line 637
Controller::constructClasses() - CORE\cake\libs\controller\controller.php, line 493
Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 186
Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 171
[main] - APP\webroot\index.php, line 83
Fatal Error (256): ConnectionManager::getDataSource - Non-existent data source default [CORE\cake\libs\model\connection_manager
kenapa ya mas agus kok ada error kayak gini mohon pencerahanya,,lagi belajar cakephp ni,,
Agus Saputra
alfa luki @ coba buat database.php terlebih dahulu .. bisa lihat di Video Tutorial cara instalasi & konfigurasinya ..
luki
Saya lg nyoba modif framework cakephp dari CD Bonus "Teknik Cepat Membangun Aplikasi Web dengan FRAMEWORK CakePHP".tapi lum bisa!.sy pengen nampilin artikel di home.tolong bantu sy mas...
OLAY
informasi yang menarik, semoga bermanfaat
Atep
Bagaimana mengubah title pada browser yang tampil pada pojok kiri atas sesuai dengan judul yang kita klik (dinamis) ?
obat lemah syahwat
makasih atas infonya sangat menarik dan artikelnya sangat berkualitas menurut saya
http://goo.gl/vEYZa
Krisna
Coba tambahkan $this->$pageTitle
Krisna
#Atep: Coba tambahkan $this->$pageTitle
Atep
Mas Krisna saya sudah tamhbahkan $this->$pageTitle, tapi nggak bisa juga dibagian mana ya ditambahnya?
Krisna
@Atep : Pada default.ctp bagian title tambahkan <title> ?php echo $title_for_layout; ?></title>, kemudian tambahkan pada controler $this->$pageTile =’title_for_layout’, arra => (‘nama tabel [nama model] [nama field]’); Lalu refresh halaman yang dimaksud maka title akan berubah sesuai data yang ada di field tersebut, untuk lebih jelasnya coba tanya ke master cakephp Mas AGUS SAPUTRA karena website www.agussaputra.com titelnya sudah dinamis dan berubah sesuai judul yang kita klik, mungkin jawaban beliau bisa membantu kesulitan yang anda hadapi.
aira
mungkin perlu ada perbaikan masalah security form yang saat ini masih bisa saja di tembus oleh botcomentar yang makin marak mas. apa mungkin bisa diintegrasikan dengan akismet.
Agus Saputra
aira @ yah saat ini kami belum sempat mendevelop ulang situs ini.. maybe jika Ada kawan-kawan yang ingin bersama-sama develop juga boleh .. :D
Jojon
Saya punya query dengan php klasik berikut :
msql_query("SELECT * FROM mahasiswa WHERE mahasiswa.id_mk=matakuliah.id_mk AND mahasiswa.id_fk=fakultas.id_fk ORDER BY id_mhs");
kalau dalam CakePHP, bagaimana querynya?
terima kasih