Pada instalasi baru Magento, Magento hadir dengan beberapa halaman CMS default yang dapat Anda edit CMS > Pages
. Namun, ia juga dilengkapi dengan beberapa halaman CMS "yang tidak dapat diedit": Orders and Returns
dan Contact Us
... keduanya merupakan halaman dengan formulir di atasnya, dan menyoroti kekurangan di Magento CE: membuat dan mengedit formulir.
Saya telah berhasil mengganti Kontak standar dengan formulir saya sendiri, tetapi saya ingin menambahkan formulir lain, dan mungkin perlu menambahkan lebih banyak formulir di masa mendatang. Saya agak akrab dengan membuat Modul Magento untuk mengesampingkan fungsi dan halaman yang ada, seperti yang telah saya lakukan sejauh ini.
Saya sudah mulai mengerjakan modul yang akan memungkinkan kemampuan untuk membuat halaman formulir di Magento, tetapi mereka harus tidak terlihat oleh manajemen CMS seperti bentuk default. Saya telah menemukan jawaban untuk membuat halaman CMS secara terprogram, tetapi itu menambahkannya ke Magento CMS > Pages
.
Bagaimana cara membuat halaman CMS yang hanya dapat diedit oleh Modul Magento?
sumber
Jawaban:
Sebenarnya 'Hubungi Kami' dan 'Pesanan dan pengembalian' bukan halaman CMS. Mereka sebenarnya halaman dari modul terpisah. Mereka lebih seperti halaman 'Login' atau 'Daftar' daripada seperti halaman CMS. Untuk membuat halaman seperti ini, Anda dapat membuat modul sederhana dengan controller, satu blok dan satu template. Sebut saja ekstensi Easylife_Customform. Untuk ini, Anda perlu file-file berikut.
app/etc/modules/Easylife_Customform.xml
- File pernyataan modulapp/code/local/Easylife/Customform/etc/config.xml
- file konfigurasiapp/design/frontend/base/default/layout/easylife_customform.xml
- file tata letak frontendapp/code/local/Easylife/Customform/Helper/Data.php
- Pembantu modul defaultapp/design/frontend/base/default/template/easylife_customform/form.phtml
- html sebenarnya untuk formulir - buat ini terlihat seperti yang Anda butuhkanapp/code/local/Easylife/Customform/controllers/IndexController.php
- pengontrol modulSeharusnya begitu. Bersihkan cache dan Anda harus dapat mengakses formulir di
mysite.com/customform
Saya harap saya menulis kode dengan benar dan tidak ketinggalan sesuatu
sumber
<reference name="head"> <action method="setTitle" translate="title"><title>Subscribe to our Newsletter</title></action> </reference>
tidak akan berfungsi.Mage::getSingleton('core/session')->addError("Error");
tetapi tidak berhasil. Ini hanya menampilkan pesan sukses. Ada bantuan?