CakePHP Apakah mungkin meneruskan data dinamis ke suatu elemen untuk digunakan di seluruh situs?

Dengan proyek yang sedang saya kerjakan ini, header berisi item menu yang memiliki drop down yang menunjukkan item yang relevan dengan item menu yang dipilih. Item ini dimaksudkan untuk diambil langsung dari database, sehingga item dapat ditambahkan/dihapus kapan pun diperlukan.

Pertanyaan saya adalah bagaimana cara kerjanya ketika saya menggunakan Elemen dengan CakePHP? Saya memahami bahwa elemen adalah kode yang dapat digunakan kembali, tetapi saya tidak yakin di mana kode logika harus ditempatkan? Apakah suatu elemen menggunakan pengontrolnya sendiri, atau apakah saya harus menambahkan kode ke setiap pengontrol yang aktif di proyek?

Bersulang!


person mickburkejnr    schedule 23.02.2012    source sumber


Jawaban (3)


Saya memiliki elemen untuk menu dinamis dengan perusahaan yang diwakili oleh halaman tersebut, dan saya menggunakannya dalam tata letak karena diperlukan untuk ditampilkan di setiap halaman.

Apa yang saya lakukan adalah sebagai berikut: di pengontrol aplikasi di beforeFilter (Anda dapat menggunakan sebelum render atau apa pun yang memanggil sebelum tampilan dirender) saya melakukan bagian logika. sesuatu seperti ini

$this->loadModel('Company');
$companies = $this->Company->find('all');
$this->set('companies', $companies);

dengan itu Anda dapat menggunakannya dalam tampilan/tata letak/elemen Anda

semoga ini bisa membantu Anda :)

person api55    schedule 23.02.2012

Anda akan menggunakan elemen untuk bagian tampilan yang ingin Anda tampilkan di setiap halaman. Anda tidak ingin memutuskan hubungan dengan MVC dan mencampurkan logika bisnis dalam tampilan.

Di dalam elemen Anda, lakukan panggilan ke tindakan pengontrol menggunakan requestAction(). Bacalah http://book.cakephp.org/2.0/en/views.html#elements ini akan menjelaskan kepada Anda cara menggunakan requestAction().

Sepertinya Anda ingin membuat menu atau semacamnya. Jadi panggil pengontrol yang berhubungan dengan menu dan dapatkan data dari model.

person floriank    schedule 23.02.2012

Sebuah elemen pada dasarnya adalah tampilan mini yang dapat dimasukkan ke dalam tampilan lain. Anda dapat membuat pengontrol untuk elemen atau Anda dapat menambahkan logika Anda ke pengontrol yang menyertakan elemen tersebut. http://book.cakephp.org/1.3/view/1081/Elements

person AJFMEDIA    schedule 23.02.2012