Sepertinya mereka tidak memiliki dokumentasi kecuali beberapa panggilan api di forum resmi mereka. Saya memiliki pengalaman dengan Zend framework dan CodeIgniter framework. Dapatkah master OpenCart merekomendasikan saya cara terbaik untuk mempelajarinya dan menguasainya dalam waktu sesingkat mungkin? Saya harus melakukan proyek besar dengannya segera.
98
Jawaban:
Panduan memulai cepat pengembang OpenCart 1.5.X untuk pemula
Panduan ini ditulis untuk pengembang yang sudah terbiasa dengan PHP, OOP dan arsitektur MVC
Berikut ini, Anda akan melihat contoh untuk sisi katalog gerobak. Sisi admin identik fungsinya dengan pengecualian tampilan yang dicatat di bagian yang relevan
Memahami Perpustakaan
Semua fungsionalitas perpustakaan dapat diakses melalui Controller, Model dan View menggunakan
$this->library_name
. Semua ini dapat ditemukan di/system/library/
folder. Misalnya, untuk mengakses produk keranjang belanja saat ini, Anda harus menggunakanCart
kelas, yang ada di/system/library/cart.php
dan dapat diakses menggunakan$this->cart->getProducts()
Barang yang biasa digunakan
customer.php
- Fungsi terkait pelangganuser.php
- Fungsi terkait pengguna Admincart.php
- Fungsi terkait gerobakconfig.php
- Semua pengaturan dimuat dari iniurl.php
- Fungsi pembuatan URLMemahami parameter rute
Kerangka kerja OpenCart bergantung pada
route=aaa/bbb/ccc
parameter string kueri untuk mengetahui apa yang harus dimuat, dan merupakan fitur pendukung untuk menemukan file yang perlu Anda edit untuk setiap halaman. Sebagian besar rute sebenarnya hanya menggunakanaaa/bbb
yang seharusnya dilihat sebagai dua bagian, namun beberapa berisi tiga bagian.aaa/bbb/ccc
Bagian pertamaaaa
umumnya terkait dengan folder dalam folder umum seperti folder pengontrol atau template. Bagian kedua biasanya berhubungan dengan nama file, tanpa relevan.php
atau.tpl
ekstensi. Bagian ketiga dijelaskan di bagian "Memahami pengontrol" di bawahMemahami bahasa
Bahasa disimpan dalam
/catalog/language/
folder diyour-language
subfolder. Diyour-language.php
dalamnya , nilai teks umum yang digunakan di berbagai halaman disimpan dalam file di dalam folder, jadi untuk bahasa Inggris di sisi katalog, Anda akan menemukan nilainya dicatalog/language/english/english.php
. Untuk teks halaman tertentu, Anda memerlukanroute
untuk halaman (Ini biasanya terjadi, tetapi tidak selalu karena Anda dapat menentukan file bahasa apa pun yang Anda suka). Misalnya, halaman pencarian memiliki ruteproduct/search
, dan oleh karena itu teks khusus bahasa untuk halaman itu dapat ditemukan dicatalog/language/english/product/search.php
(Perhatikan nama file dan subfolder cocok dengan rute yang diikuti.php
.Untuk memuat bahasa di pengontrol, Anda menggunakan
Kemudian Anda dapat menggunakan fungsi pustaka bahasa
get
untuk mengambil teks bahasa tertentu, sepertiVariabel bahasa ditugaskan di file bahasa menggunakan variabel khusus
$_
yang merupakan larik kunci dan nilai teks. Di dalam Anda,/catalog/language/english/product/search.php
Anda harus menemukan sesuatu yang mirip denganNilai dalam file bahasa global
english/english.php
secara otomatis dimuat dan tersedia untuk digunakan tanpa$this->language->load
metodeMemahami pengontrol
Pengontrol dimuat berdasarkan
route
dan cukup mudah dipahami. Pengontrol berada di/catalog/controller/
folder. Melanjutkan dari contoh terakhir, Kontroler untuk halaman Pencarian ada di/product/search.php
dalam folder ini. Perhatikan lagi bahwa rute yang diikuti oleh.php
digunakan.Membuka file controller, Anda akan melihat nama kelas Pascal Case yang memperluas
Controller
kelas, bernamaControllerProductSearch
. Ini lagi-lagi khusus untuk rute, denganController
diikuti oleh nama subfolder dan nama file tanpa ekstensi yang dikapitalisasi. Kapitalisasi sebenarnya tidak diperlukan, tetapi disarankan agar mudah dibaca. Perlu dicatat bahwa nama kelas tidak mengambil nilai apa pun dari subfolder dan nama file selain huruf dan angka. Garis bawah dihapus.Di dalam kelas ada metodenya. Metode di kelas yang dideklarasikan
public
dapat diakses untuk dijalankan melalui rute -private
tidak. Secara default, dengan rute dua bagian standar (diaaa/bbb
atas),index()
metode default dipanggil. Jika bagian ketiga dari sebuah rute (diccc
atas) digunakan, metode ini akan dijalankan. Misalnya,account/return/insert
akan memuat/catalog/controller/account/return.php
file dan kelas, dan mencoba memanggilinsert
metode tersebutMemahami Model
Model di OpenCart ditemukan di
/catalog/model/
folder dan dikelompokkan berdasarkan fungsi, bukan rute, dan oleh karena itu Anda perlu memuatnya di pengontrol Anda melaluiIni akan memuat file di subfolder
xxx
bernamayyy.php
. Kemudian tersedia untuk digunakan melalui objekdan seperti halnya pengontrol, Anda hanya dapat memanggil
public
metodenya. Misalnya, untuk mengubah ukuran gambar, Anda akan menggunakantool/image
model dan memanggilresize
metodenya sebagai berikutMemahami penetapan variabel dalam tampilan dari pengontrol
Untuk meneruskan nilai ke tampilan dari pengontrol, Anda hanya perlu menetapkan data Anda ke
$this->data
variabel, yang pada dasarnya adalah larik pasangan kunci => nilai. Sebagai contohMengakses ini dalam tampilan sedikit harus mudah dipahami jika Anda terbiasa dengan metode extract () yang mengonversi setiap kunci menjadi variabel. Jadi
example_var
kuncinya menjadi$example_var
dan bisa diakses seperti itu dalam tampilan.Memahami tema
Tema hanya tersedia di sisi katalog, dan pada dasarnya merupakan folder template, stylesheet, dan gambar tema. Folder tema ditempatkan di
/catalog/view/theme/
folder diikuti dengan nama tema. Nama folder tidak penting kecuali untukdefault
folder tersebutSisi admin menggunakan
/admin/view/template/
(melewatkan/theme/theme-name/
dari jalur karena tidak memungkinkan tema yang berbeda)File template berada di
template
folder di dalam folder tema. Jika ada template yang tidak tersedia untuk tema yang saat ini dipilih, template folder default akan digunakan sebagai pengganti. Ini berarti tema dapat dibuat dengan sangat sedikit file dan masih berfungsi sepenuhnya. Ini juga mengurangi duplikasi kode dan masalah saat peningkatan dilakukanMemahami tampilan (template)
Seperti bahasa dan model, file tampilan umumnya terkait dengan rute, meskipun tidak harus sama sekali. Template di sisi katalog biasanya ditemukan
/catalog/view/theme/your-theme/template/
kecuali tidak ada, dalam hal ini template tema default akan digunakan. Untuk contoh halaman pencarian kami di atas, file tersebut adalahproduct/search.tpl
. Untuk rute dengan tiga bagian, umumnya dalamaaa/bbb_ccc.tpl
meskipun tidak ada aturan yang ditetapkan. Di admin, sebagian besar halaman mengikuti ini, dengan pengecualian bahwa halaman yang mencantumkan item, seperti halaman daftar produk, ada dicatalog/product_list.tpl
dan formulir pengeditan produk adacatalog/product_form.tpl
. Sekali lagi, ini tidak ditetapkan, tetapi standar untuk keranjang default.File template sebenarnya hanyalah file php lain, tetapi dengan ekstensi .tpl dan sebenarnya dijalankan di file controller, oleh karena itu semua hal yang dapat Anda kodekan dalam controller dapat dijalankan dalam file template (meskipun tidak disarankan kecuali benar-benar perlu)
Memahami objek database
Kueri dijalankan menggunakan
DB_PREFIX
seperti namanya adalah konstanta yang berisi prefiks database jika ada$result
akan mengembalikan objek untukSELECT
kueri, yang berisi beberapa properti$result->row
berisi data baris pertama jika satu atau lebih dikembalikan sebagai array asosiatif$result->rows
berisi larik hasil baris, ideal untuk perulangan menggunakan foreach$result->num_rows
berisi jumlah hasil yang dikembalikanAda juga beberapa metode tambahan yang dimiliki
$this->db
objek$this->db->escape()
menggunakan mysql_real_escape_string () pada nilai yang diteruskan$this->db->countAffected
mengembalikan jumlah baris yang dipengaruhi olehUPDATE
kueri dan seterusnya$this->db->getLastId()
mengembalikan id kenaikan otomatis terakhir menggunakan mysql_insert_id ()Memahami variabel yang dipesan
OpenCart telah disediakan variabel untuk digunakan di tempat standar
$_GET
,$_POST
,$_SESSION
,$_COOKIE
,$_FILES
,$_REQUEST
DAN$_SERVER
$_SESSION
diedit menggunakan di$this->session->data
mana data adalah array asosiatif yang meniru$_SESSION
Semua yang lain dapat diakses menggunakan
$this->request
dan telah "dibersihkan" untuk mematuhi tanda kutip ajaib yang diaktifkan / dinonaktifkan, jadi$_GET
menjadi$this->request->get
$_POST
menjadi$this->request->post
$_COOKIE
menjadi$this->request->cookie
$_FILES
menjadi$this->request->files
$_REQUEST
menjadi$this->request->request
$_SERVER
menjadi$this->request->server
Ringkasan
Meskipun hal di atas bukanlah panduan antipeluru untuk pengembang, semoga ini akan berfungsi sebagai titik awal yang baik bagi mereka yang memulai
sumber
Metode Pustaka Global: Fungsi pustaka pembuka dasar beserta fungsinya, Sebagian besar dapat dipanggil dari mana saja di katalog atau folder admin (pengontrol, model, tampilan)
sumber
Ada situs web OpenCart Wiki dengan dokumentasi untuk pengembang pemula. Ikuti url yang diberikan di bawah ini untuk lebih jelasnya:
http://wiki.opencarthelp.com/doku.php?id=starthttp://wiki.opencarthelp.com/doku.php?id=methods_referenceTautan ARSIP INTERNET
http://web.archive.org/web/20160305131349/http://wiki.opencarthelp.com/doku.php?id=start http://web.archive.org/web/20160305131349/http://wiki .opencarthelp.com / doku.php? id = methods_reference
Misalnya, referensi metode memiliki detail untuk:
Masih Ada beberapa halaman dalam perbaikan tetapi itu akan sangat membantu.
[Memperbarui]
Mulai Jan-2018, domain opencarhelp.com tidak aktif.
sumber
Meskipun topik ini telah dijawab berkali-kali, saya ingin menawarkan pendekatan lain untuk menguasai OpenCart berdasarkan pengalaman saya.
Belajar dengan melakukan
Dengan membuat kerangka OpenCart Anda sendiri dari awal dengan beberapa file, Anda dapat memahami bagaimana semuanya disatukan. Saya akan meniru struktur file OpenCart untuk Anda.
Buat file
index.php
1. Registri
Opencart menggunakan pola Registry untuk mencantumkan semua contoh kelas yang dimuat. Ini adalah jantung dari aplikasi OpenCart Anda. Objek registri kemudian diteruskan ke setiap kategori, model, dan pustaka untuk akses cepat ke objek lain.
buat file dengan path
/system/engine/registry.php
di Anda
index.php
2. Keluaran
Sekarang mari tambahkan keluaran yang akan menjadi HTML kita di masa depan. Bagaimanapun, keseluruhan idenya adalah mengirim string teks ke browser.
Buat file
system/library/response.php
dan di
index.php
3. Pengontrol
Pikirkan Pengontrol sebagai halaman. Mereka akan menentukan apa yang akan ditampilkan ke klien: teks, html, json, unduh atau bahkan gambar. Untuk saat ini, kami hanya menginginkan halaman yang mengirimkan teks.
Kami akan membuat pengontrol untuk
home
halaman.tambahkan file dengan jalur
catalog/controller/common/home.php
dan edit file
index.php
4. Router
Kami tidak ingin pengontrol di-hardcode, benar. Kami akan menggunakan parameter
route
dari alamat url untuk memberi tahu keranjang kami pengontrol mana yang akan dimuat.Buat file dengan jalur
system/library/request.php
Buat class Router yang akan bertanggung jawab untuk menginisialisasi file Controller berdasarkan rute (dengan kata lain: memanggil controller secara dinamis)
memuatnya ke
index.php
Posting ini sudah terlalu panjang, tapi saya harap ini akan memberikan pemahaman dasar tentang pola MVC di OpenCart.
Lihat juga Youtube saya https://www.youtube.com/dreamvention dan blog saya https://dreamvention.com/blog. Saya akan memposting lebih banyak tip dan tutorial di sana untuk kalian!
sumber
PHP adalah bahasa yang cukup besar dengan lebih dari 5000 fungsi bawaan sehingga salah satu strategi untuk mempelajari platform baru adalah mengidentifikasi fungsi mana yang paling sering digunakan dan meluangkan waktu untuk mengenalnya dengan sangat baik.
Saya telah menjalankan beberapa kueri pada kode sumber OpenCart dan 10 fungsi teratas yang paling umum digunakan adalah:
Semua 52 yang tercantum di sini serta perintah bash Linux yang dapat Anda gunakan pada basis kode apa pun untuk mengidentifikasi fungsi yang umum digunakan: https://www.antropy.co.uk/blog/efficient-learning-for-new-opencart-developers/
sumber
Daftar putar video youtube ini juga dapat membantu untuk menjadi Gurus pengembang OpenCart:
Tutorial Video OpenCart
Pola MVCL, aliran kode dan permintaan & respons di OpenCart Ini menunjukkan pola MVCL, aliran kode dan permintaan & respons di OpenCart. Mereka menggambarkan aliran seperti pada gambar di bawah ini:
Instal, Konfigurasi dan Hapus Modul Opencart Ini menunjukkan tiga cara untuk mengunggah modul, kemudian menginstal, mengkonfigurasi dan menghapus modul / ekstensi OpenCart 3.
Tata letak dan posisi di Opencart 3 Ini menjelaskan tata letak dan posisi OpenCart 3. Ini menunjukkan bagaimana menampilkan tata letak yang disesuaikan untuk halaman yang berbeda, memberikan contoh halaman kategori. Kami menunjukkan tata letak yang berbeda untuk kategori yang berbeda.
Gambaran umum acara dari OpenCart Anda akan mempelajari Acara apa yang ada di OpenCart, bagaimana cara kerjanya dan apa yang membuatnya sangat berguna.
Dokumentasi OpenCart API untuk pengembang Video ini akan menunjukkan bagaimana menggunakan dan membuat API OpenCart kustom
Setelah Anda melihat video-video ini maka Anda dapat mulai membuat kode :)
sumber