Pembangunan Modul Tersuai Magento ialah bahagian teras mana-mana pembangunan Magento atau projek Magento kerana pada mana-mana peringkat anda mungkin mahu menyepadukan fungsi/modul anda sendiri ke dalam projek Magento sedia ada.
Dalam siri ini, saya akan membincangkan butiran pembangunan modul tersuai Magento.
Jika anda ingin membangunkan Magento dengan lebih lanjut, lihat pelbagai sambungan Magento yang berguna di Pasaran Envato.
Dalam siri ini, saya merujuk kepada Magento Community Edition 1.7, walaupun versi tersuai
Struktur modul adalah sama dalam semua versi Magento. Sebelum memulakan pembangunan modul sebenar, mari kita cepat memahami struktur asas Magento.
Setiap kali anda memasang Magento baharu, anda akan melihat struktur direktori Magento berikut:
Pengenalan kepada struktur Magento MVC
Seperti mana-mana rangka kerja utama lain seperti Joomla, CakePHP, CodeIgniter, dll., Magento juga mengikuti seni bina berasaskan MVC, walaupun ini berbeza sedikit daripada seni bina PHP MVC teras. Di sini saya akan menerangkan perbezaan dalam seni bina Magento dengan membandingkannya dengan seni bina PHP MVC yang mudah.
Seni Bina PHP MVC
Dalam corak MVC biasa, aliran aplikasi kelihatan seperti ini:
Terdapat satu titik masuk utama - index.php - dan keseluruhan mekanisme penghalaan aplikasi ditentukan dari sini.
我们需要为我们的模块命名。一般来说,Magento 模块名称由两部分组成:_。为 Magento 模块命名的最佳做法是选择 <namespace></namespace> 作为作者或公司名称,并选择 <module></module>Berdasarkan mekanisme penghalaan ini dan corak URL yang diminta, apl akan memanggil pengawal yang sesuai.
Pengawal kemudian memanggil paparan yang sesuai.
🎜Akhir sekali, fail paparan mengumpul data daripada fail model dan memaparkan data.
🎜Seni Bina Magento MVC🎜
🎜Seni bina MVC Magento menambah beberapa lapisan pada corak MVC, tetapi aliran kawalan asas aplikasi adalah seperti berikut: 🎜
🎜
🎜Terdapat satu titik masuk utama - index.php - dan keseluruhan aplikasi akan dimulakan dari sini.
🎜Pengawal yang sesuai akan dipanggil berdasarkan URL yang diminta.
🎜Pengawal menentukan halaman dan memuatkan fail susun atur untuk halaman tersebut.
🎜Fail susun atur memberitahu pengawal yang menyekat fail untuk digunakan.
🎜Sekat fail mengumpul data daripada fail model dan pembantu dan hantarkannya ke fail templat.
🎜Fail templat menerima data dan memaparkan html.
🎜Pada mulanya, ini mungkin sukar difahami kerana ia mengandungi beberapa lapisan tambahan. Untuk lebih mengenali aliran kawalan, mari bangunkan modul "Hello World" tersuai. 🎜
🎜Sebelum anda mula menggunakan modul🎜
🎜Saya menganggap anda sudah mempunyai salinan Magento yang berfungsi dengan versi 1.7 atau 1.7+ (jika tidak, versi itu tidak penting pada peringkat ini)
🎜Lumpuhkan caching. Untuk melumpuhkan cache, pergi ke Panel Pentadbiran Magento > Sistem > Pengurusan Cache > Pilih semua jenis cache dari kotak semak kiri > Pilih Tindakan: Lumpuhkan dari menu lungsur kanan atas > Klik Serah.
🎜Struktur modul Magento🎜
🎜Kolam Kod🎜
🎜Magento mengandungi tiga jenis kumpulan kod di mana semua modul tersuai dan teras Magento berada. 🎜
🎜
🎜Kolam Teras mengandungi semua modul teras yang disertakan dengan pemasangan Magento secara lalai. Modul ini ditulis oleh pembangun Magento. Adalah disyorkan untuk tidak mengubah suai modul ini kerana setiap kali anda menaik taraf pemasangan Magento anda, semua modul teras akan ditimpa dan pengubahsuaian anda akan hilang.
🎜Kolam Komuniti mengandungi semua modul (iaitu modul tersuai) yang dibangunkan oleh pengaturcara pihak ketiga dan dipasang melalui Magento Connect. Modul ini biasanya memanjangkan modul teras dan menyediakan kefungsian mereka sendiri, yang biasanya boleh digunakan di mana-mana sahaja di Magento.
🎜Kolam tempatan mengandungi semua modul tersuai yang akan digunakan dalam projek tertentu tetapi tidak akan dibaca dalam Magento Connect
🎜Jadi kami mempunyai dua pilihan kolam: kolam komuniti atau kolam tempatan. Memandangkan kami sedang membangunkan projek kami sendiri, kami akan menggunakan kolam tempatan, walaupun tiada sekatan untuk menggunakan kolam komuniti. 🎜
🎜Struktur🎜
🎜Modul Magento terdiri daripada komponen berikut: 🎜
🎜
Blok mengandungi fungsi untuk memaparkan data dalam templat.
🎜
Model mengandungi logik perniagaan modul.
🎜
Model Sumber mengandungi fungsi untuk interaksi pangkalan data.
🎜
Pengawal mentakrifkan reka letak halaman dan menyekat fail untuk dimuatkan apabila URL diminta.
🎜
dll Mengandungi fail konfigurasi dalam format XML yang memberitahu Magento berapa banyak fail yang ada untuk modul dan cara modul berinteraksi.
🎜
Pembantu mengandungi fungsi untuk mentakrifkan logik perniagaan biasa (cth. saiz semula imej, pengesahan). Fungsi ini boleh digunakan di mana-mana sahaja dalam aplikasi Magento
🎜
sql Mengandungi skrip SQL untuk mencipta, mengubah suai atau menjatuhkan jadual SQL.
🎜 Penamaan modul🎜
🎜Kami perlu memberi nama modul kami. Secara umumnya, nama modul Magento terdiri daripada dua bahagian: _. Amalan terbaik untuk menamakan modul Magento ialah memilih <namespace></namespace> sebagai nama pengarang atau syarikat dan <module></module> sebagai nama sebenar Nama modul. 🎜
Berikutan konvensyen penamaan ini, saya memberi nama modul kami Chiragdodia_Mymodule. Kami akan merujuk kepada nama ini sepanjang siri ini.
Persediaan dan konfigurasi kod
Mari buat direktori berdasarkan struktur di atas. Pergi ke direktori pemasangan Magento dan navigasi ke app/code/localapp/code/local 并创建如下所示的目录。
dan buat direktori seperti yang ditunjukkan di bawah. 🎜
Atas ialah kandungan terperinci Membangunkan modul tersuai untuk Magento. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn