Saya telah menjadi pengembang PHP selama 13+ tahun, memiliki pengetahuan luas tentang PHP itu sendiri selama beberapa proyek populer lainnya seperti WordPress. Saya tidak punya pengalaman dengan Magento.
Saya sekarang memiliki pekerjaan penuh waktu untuk sebuah perusahaan yang menggunakan Magento, semua pekerjaan pengembangan saya akan ada di Magento sekarang.
Pikiran awal saya setelah melihat Magento untuk pertama kalinya adalah, wow apa yang sudah saya lakukan sekarang? Tapi kemudian pengembang yang berpengalaman di dalam saya keluar dan ingat, itu hanya PHP.
Jadi saya punya beberapa pertanyaan dasar Magento. Saya sangat menghargai beberapa jawaban dari Pengembang Magento yang lebih berpengalaman ...
- Apa tempat terbaik yang paling berguna untuk belajar tentang pengembangan magento di samping situs ini?
- Ekstensi / plugin sangat membingungkan sejauh ini bagi saya. Platform lain seperti WordPress memungkinkan Anda untuk menempatkan plugin ke dalam folder itu sendiri dan semua file itu akan hidup di bawah folder itu. Dari apa yang saya lihat sejauh ini, sebuah plugin mungkin tersebar di beberapa folder di Magento, apakah ini benar?
- Saya telah belajar tentang cara over-ride fungsionalitas Core. Jadi jika file dalam inti terletak di sini
/app/code/core/Mage/SitemapModel/Resource/Catalog
maka saya dapat menumpanginya dengan membuat file di lokasi ini/app/code/local/Mage/SitemapModel/Resource/Catalog
jadi bagaimana cara kerjanya dengan Extension / plugin? Jika saya membuat plugin yang perlu over-ride fungsionalitas inti, maka saya harus memiliki file saya di semua tempat agar ekstensi itu berfungsi? - Adakah info lain yang Anda harap Anda ketahui memulai dengan magento?
Terima kasih atas wawasan apa pun, saya tahu ini adalah pertanyaan multi-bagian, tetapi saya merasa salah satu jawaban akan membantu saya dan yang lain memulai, saya akan membuat wiki publik ini jika saya harus melakukannya juga.
sumber
Jawaban:
Saya akan fokus pada bagian pertama dari pertanyaan Anda - " bagaimana saya belajar / di mana saya memulai? "
Sebagai mantan pengembang Zend Framework, bantuan terbesar bagi saya dalam mengembangkan Magento adalah ledakan dalam pembelajaran online yang dibawa Magento U dalam 2 tahun terakhir. Selain dari pembelajaran formal - saya belajar sebagian besar dengan melakukan , dan saya telah "melakukan" Magento selama lebih dari 5 tahun sekarang.
Beberapa sumber belajar konkret:
Selain alat belajar, bagi saya alat belajar terbesar adalah dengan memeriksa modul Magento pihak ke-3. Saya membaca kode secara menyeluruh dan belajar darinya. Anda dapat melakukan hal yang sama dengan belajar dari modul Core.
Beberapa situs yang akan membantu Anda dalam perjalanan belajar Anda:
http://magento-quickies.tumblr.com/
http://alanstorm.com/
http://colin.mollenhour.com/
http://magentotherightway.com/
Beberapa pengembang epik yang harus diikuti:
Alistair Stead: https://github.com/alistairstead
Fabrizio Branca: https://github.com/fbrnc/
Vinai Kopp: https://github.com/Vinai
Terlibat secara sosial - temui beberapa pengembang 'rockstar' dan mulai ikuti mereka di Twitter. Jangkau orang-orang tertentu ketika Anda membutuhkan bantuan; komunitas ini luar biasa didekati. Gunakan komunitas untuk keuntungan Anda.
Beberapa daftar Twitter:
https://twitter.com/inchoo/magento
https://twitter.com/kkoepke/magento
https://twitter.com/eHubSystem/magento-imagine-2013
https://twitter.com/GingerWarriorX/magento-peeps
Akhirnya - melakukan perjalanan tahun depan ke Magento Bayangkan tahun depan dan tekan daging. Lacak kami, ajukan pertanyaan kepada kami. Keluar ke pertemuan lokal Anda. Jika pertemuan tidak ada di daerah Anda - mulailah satu . Bersikaplah gigih. Jangan biarkan kurangnya pengetahuan membuat Anda tidak bisa berjejaring dan bertemu orang-orang. Hubungan Anda di komunitas akan terbayar dalam dividen.
sumber
2 sen saya untuk jawaban @ philwinkle yang brilian.
Ada dua PDF resmi
1) Panduan Pengembang Ekstensi Magento
80 halaman tentang cara membuat ekstensi khusus dari awal langkah demi langkah. Modul "Berita" dikembangkan dari awal - ini akan menunjukkan kepada Anda file modul dan struktur folder, file konfigurasi, pengontrol, model, blok.
2) Panduan Desainer untuk Magento dapat ditemukan di sini http://www.magentocommerce.com/resources/magento-user-guide
60 halaman tentang cara mengatur dan membuat tema Anda sendiri, paket sesuai dengan praktik terbaik.
Ada juga buku baru khusus untuk mereka yang memiliki latar belakang PHP dan mulai dengan Magento - Magento Panduan Pengembang PHP oleh Allan McGregor dan memiliki ulasan yang sangat bagus dari pengembang Magento di Amazon dan berbagai blog
Saluran video: Saluran YouTube Magento Commerce
Temui video konferensi Magento
Blog bagus lainnya:
http://magebase.com/
http://inchoo.net/blog/
http://www.kingletas.com/
http://blog.belvg.com/category/magento-news/developer-certification http: / /fbrnc.net/tag:Magento
http://www.demacmedia.com/category/magento-commerce/
sumber
Jawaban yang bagus di sini sejauh ini di sekitar. Mengenai
Terminologi di Magento sedikit membingungkan. Pengembangan awal platform sangat cepat dan ada banyak waktu di mana Anda akan melihat konsep yang tumpang tindih dari awal yang salah dan perubahan arah. Extensions / plugins / modules / I'm-a-developer-and-want-to-add-my-code-to-the system adalah salah satu area ini.
Sebuah Magento Connect Ekstensi hanyalah sebuah paket file yang dapat diinstal ke dalam sistem Magento. Ini sepenuhnya dipisahkan dari salah satu sub-sistem program Magento lainnya.
Lebih dekat dengan apa yang Anda terbiasa adalah Modul Kode Magento . Secara kasar, modul kode adalah kumpulan file PHP yang dilihat Magento sebagai satu unit. Modul terletak di salah satu dari tiga folder
Saat Anda ingin menyesuaikan Magento, atau menambahkan fitur baru, Anda akan hampir selalu mulai dengan modul kode. Bahkan, Magento sendiri dibangun di atas sekitar 60 - 70 modul kode. Misalnya,
Mage_Cms
modul dalamberisi kode yang membuat fitur CMS Magento berfungsi. Jika Anda akan membuat modul yang menambahkan kucing kucing ke Magento, Anda dapat membuat modul bernama
Jasondavis_Kitties
dan letakkan diRe:
core
,,community
danlocal
- yang pertama adalah untuk pengembang Magento, jadi jangan sentuh. Yang kedua adalah untuk ekstensi yang dimaksudkan untuk didistribusikan ke komunitas. Yang terakhir adalah untuk ekstensi yang dimaksudkan untuk dikembangkan secara lokal, untuk sistem tertentu.Sedikit kebingungan terakhir adalah sekitar paket desain . Kode yang digunakan Magento untuk membuat dan mengelola HTML adalah sistem yang sepenuhnya terpisah. Itu sebabnya
phtml
file terletak terpisah dari file modul kode . Anda dapat menemukan file-file ini dimap.
Sebagian besar ekstensi profesional yang ditulis dengan baik didistribusikan sebagai Magento Connect Extensions yang memasang satu, atau banyak Modul Kode Magento , dan berisi sejumlah
phtml
templat khusus dan file XML Layout yang dipasang dalambase
paket desain .Hal-hal spesifik yang dapat Anda lakukan dengan modul kode sangat banyak, dan lebih banyak daripada yang dapat dijawab oleh satu jawaban Stack Exchange. Saya menulis serangkaian artikel yang, meski sedikit ketinggalan zaman, masih merupakan pengenalan yang kuat terhadap konsep pengkodean Magento.
Akhirnya, Re:
Saya sedikit bias dalam hal ini, tetapi saya menjual ekstensi debugging Magento yang disebut Commerce Bug (klik tautan debug kecil). Ini mengumpulkan dan menampilkan semua informasi yang perlu diketahui pengembang saat bekerja dengan Magento. Ini sangat membantu ketika Anda mempelajari sistem (saya membangunnya untuk membantu saya mempelajari kembali sistem saat itu), dan tetap membantu ketika Anda bekerja sehari-hari pada sistem Magento. Jika Anda mengenakan biaya per jam untuk pekerjaan Anda, Anda akan mengembalikan harga pembelian pada proyek pertama Anda.
sumber
Selain jawaban @ philwinkle, saya ingin membalas pernyataan Anda tentang menimpa kelas menggunakan PHP termasuk prioritas jalur.
Anggap itu solusi darurat jika tidak ada cara lain untuk mencapai apa yang Anda inginkan. Seringkali Anda dapat menentukan kelas mana yang akan digunakan melalui pengaturan XML konfigurasi, atau menggunakan penulisan ulang kelas (juga ditentukan dalam config XML).
Kelemahan dari hack path include adalah:
sumber
Pertama-tama Anda tidak boleh berpikir tentang menulis ulang atau memperluas modul inti atau kelas. Anda harus mempelajari arsitektur Magento, menulis modul uji sendiri / ekstensi dengan sedikit fungsionalitas yang belum membersihkan Magento, konsep EAV, hierarki tata letak, tema Magento, dan aliran desain. Saya merujuk tautan ini: Modern Magento 1.X Workflow dan Development Tools . Semoga berhasil
sumber