Contoh Kode dan Konfigurasi yang Dibutuhkan untuk Model CRUD Magento 2 Sederhana?

8

Bagaimana saya, pemrogram-pengguna akhir, dapat membuat model "CRUD" baru di Magento 2? Artinya, saya ingin membuat file kelas PHP dan file konfigurasi XML yang akan

  1. Biarkan saya Buat, Baca, Perbarui dan Hapus data dari tabel database
  2. Biarkan saya membuat tabel database awal yang akan menyimpan informasi ini.

Di Magento 1 ini ditangani oleh Model, Model Sumber Daya, Model Pengaturan Sumber Daya, dan berbagai node di config.xml. Tidak 100% jelas bagaimana ini ditangani di Magento 2.

Apakah ada modul contoh atau tutorial yang jelas di luar sana untuk ini? Atau apakah bekerja mundur dari model inti yang ada (seperti halaman CMS) satu-satunya pilihan kami?

Alan Storm
sumber

Jawaban:

4

Melacak yang ini sendiri.

Pertama, Magento 2 tidak memerlukan XML tambahan untuk membuat model CRUD. Magento 2 secara otomatis tahu cara membuat model sumber daya dan objek koleksi yang dibutuhkan berdasarkan konvensi penamaan.

Magento 2 memang membutuhkan a

  • Kelas Model
  • Kelas Model Sumberdaya
  • Koleksi Model Kelas
  • Kelas instalasi Skema

Spesifik dari masing-masing ini berada di luar cakupan jawaban Stack Exchange tunggal, tetapi model Halaman CMS menawarkan contoh sederhana dari setiap kelas.

https://github.com/magento/magento2/blob/develop/app/code/Magento/Cms/Model/Page.php

https://github.com/magento/magento2/blob/develop/app/code/Magento/Cms/Model/ResourceModel/Page.php

https://github.com/magento/magento2/blob/develop/app/code/Magento/Cms/Model/ResourceModel/Page/Collection.php

https://github.com/magento/magento2/blob/develop/app/code/Magento/Cms/Setup/InstallSchema.php

Juga, alat pembuat kode Magento 2 saya sekarang memiliki perintah generate_crud_model .

Alan Storm
sumber
3

Untuk membuat tabel database awal, Anda perlu membuat file InstallSchema.php di folder Setup pada ekstensi Anda. Ini perlu menerapkan InstallSchemaInterface.

Apakah Anda checkout ekstensi ini: https://github.com/tzyganu/Magento2SampleModule ? Ini membantu saya untuk memahami banyak tentang Magento 2 CRUD. Saya pikir itu kompatibel dengan Magento 2.0.0, tapi saya tidak yakin. Anda juga dapat menemukan contoh InstallSchema di sana.

Yg tinggal di hutan
sumber
Magento baru-baru ini memperbarui modul sampel kami sendiri , yang dapat Anda periksa juga.
Steve Johnson
@SteveJohnson Apakah ada contoh model CRUD di tautan itu? Saya tidak melihatnya.
Alan Storm
Saya diberitahu bahwa ada modul yang menunggu untuk digabung tetapi saya tidak tahu detail pastinya. Ini PR # 2 di GitHub internal.
Steve Johnson
2

Cara saya ikuti langkah demi langkah
1- Mendaftarkan modul (registrasi.php dan module.xml)
2- Membuat file konfigurasi sistem (system.xml)
3- Membuat file konfigurasi (config.xml)
4- Membuat daftar kontrol akses ( acl.xml)
5- Membuat skrip instalasi (InstallSchema.php)
6- Mengelola kegigihan entitas (model, sumber daya, koleksi)
7- Membangun antarmuka frontend
8- Membuat antarmuka backend

Dari langkah 5 saya pikir cukup banyak waktu di sana. Contoh Anda dapat melihat dalam sampel dari magento inti. Itu tergantung pada apa yang Anda butuhkan arsip
tabel datar Sederhana? Lihat di modul seperti cms. Modul ini paling jelas untuk memahami
tabel EAV? Lihat di katalog modul, pelanggan, penjualan, pajak ..

mrtuvn
sumber
2

Untuk Magento 2. Saya menggunakan generator CRUD di bawah ini

https://mage2gen.com/

Ankit Shah
sumber