, secara rasmi dikenali sebagai eSales oksida, adalah platform standard e -dagang yang kuat dan berskala yang dioptimumkan untuk setiap segmen perniagaan dalam talian. Sebagai pemaju membelanjakan sebahagian besar tugas "9-ke-5" saya dengan oksida, saya mendapati bahawa sistem e-dagang ini sangat mudah disesuaikan dan diperluaskan. Jika anda baru untuk oksida atau mencari platform yang mudah tetapi berkesan untuk perniagaan dalam talian anda sendiri, saya cadangkan anda membaca
siri Matthew Setter mengenai Oxid ESALESyang datang dengan pelaksanaan standard untuk memulakan dengan sistem oksida. Dalam tutorial 2 bahagian ini, kami akan membuat lanjutan modul oksida baru yang melaksanakan
Infinite Scrollingke senarai artikel dan bukannya penomboran tradisional. Semasa artikel ini, saya cuba berkongsi pengalaman peribadi saya yang boleh membantu anda mempercepat proses kerja anda jika anda menghadapi sebarang perkembangan oksid kemudian. inilah yang akan anda capai.
Tutorial akan meliputi bidang berikut:
Bahagian 2:
nota: Saya menganggap bahawa anda mempunyai beberapa pengalaman kerja dengan oxid eShop (jika tidak, lihat artikel Matthew, yang dipautkan di atas). Oleh itu, tidak akan banyak penjelasan untuk konsep asas oksida.
Tugas yang paling penting yang perlu anda lakukan terlebih dahulu ialah membuat struktur folder standard.
aho_infinitescroll/ | |--- controllers/ | |-- aho_infinite_alist.php # A new controller that extends alist.php | |--- out/ | |--admin/ | |--en/ | |-- aho_infinitescroll_lang.php # Back-end English text. | |--de/ | |-- aho_infinitescroll_lang.php # Back-end Deustch text. | | |--css/ | |--> infinitescroll.css # Style for infinite scrolling elements. | | |--img/ | |--> ajax-loader.gif # image indicates the loading status. | |--js/ | |--- translations/ | |--de/ | |--> aho_infinitescroll_lang.php # Front-end Deustch text. | |--en/ | |--> aho_infinitescroll_lang.php # Front-end English text. | |--- views/ | |-- page/ | |-- list/ | |--> aho_infinitescroll_list.tpl # new template file. | |--- metadata.php # Define extension name, classes and other infos. |--- picture.jpg # A thumbnail for the module's functionality.
Bekerja dengan metadata.phpnota:
Amalan terbaik menamakan modul baru adalah untuk menggabungkan nama vendor/pemaju/kumpulan dan fungsi modul. Ia membantu untuk mendedahkan dengan serta -merta vendor dan fungsi modul baru untuk kerjasama pasukan.
Oleh itu, formula boleh seperti berikut:
Nama vendor Underscore fungsi
i.e: sitepoint_infinitescroll
Nama vendor boleh digantikan oleh nama pemaju atau nama kumpulan. Terpulang kepada anda.
Sila buka fail metadata.php dan tambahkan baris kod berikut ke dalamnya:
<span><span><?php </span></span><span> </span><span><span>$sMetadataVersion = '1.0'; # Define version of this file </span></span><span> </span><span><span>// An array to store modules' details </span></span><span><span>$aModule = array </span></span><span><span>( </span></span><span> <span>'id' => 'aho_infinitescroll', </span></span><span> <span>'title' => '[AHO] Infinite Scrolling List', </span></span><span> <span>'description' => 'Infinite Scrolling for article list', </span></span><span> <span>'thumbnail' => 'picture.jpg', </span></span><span> <span>'version' => '1.0.0', </span></span><span> <span>'author' => 'Tuan Anh Ho', </span></span><span> <span>'url' => '', </span></span><span> <span>'email' => 'anhhothai@gmail.com' </span></span><span><span>);</span></span>
aho_infinitescroll/ | |--- controllers/ | |-- aho_infinite_alist.php # A new controller that extends alist.php | |--- out/ | |--admin/ | |--en/ | |-- aho_infinitescroll_lang.php # Back-end English text. | |--de/ | |-- aho_infinitescroll_lang.php # Back-end Deustch text. | | |--css/ | |--> infinitescroll.css # Style for infinite scrolling elements. | | |--img/ | |--> ajax-loader.gif # image indicates the loading status. | |--js/ | |--- translations/ | |--de/ | |--> aho_infinitescroll_lang.php # Front-end Deustch text. | |--en/ | |--> aho_infinitescroll_lang.php # Front-end English text. | |--- views/ | |-- page/ | |-- list/ | |--> aho_infinitescroll_list.tpl # new template file. | |--- metadata.php # Define extension name, classes and other infos. |--- picture.jpg # A thumbnail for the module's functionality.
Nilai melanjutkan menentukan kelas teras/pengawal tertentu yang mana modul baru akan diperluaskan. Dalam kes ini, ia akan menjadi alist.php, yang terletak di/oksida/aplikasi/pengawal/.
Templat nilai adalah array, yang menyimpan semua templat berdaftar modul baru. Ia disyorkan kami membuat struktur folder yang sama templat untuk diganti, untuk kerjasama pasukan yang mudah. Sila ambil perhatian bahawa kedua -dua item dan nilai templat perlu memasukkan lanjutan nama fail .tpl
nota:
Cara yang betul untuk menamakan templat baru ialah "
- nama modul _ nama templat lama"
i.e: aho_infinitescroll_list.tpl
<span><span><?php </span></span><span> </span><span><span>$sMetadataVersion = '1.0'; # Define version of this file </span></span><span> </span><span><span>// An array to store modules' details </span></span><span><span>$aModule = array </span></span><span><span>( </span></span><span> <span>'id' => 'aho_infinitescroll', </span></span><span> <span>'title' => '[AHO] Infinite Scrolling List', </span></span><span> <span>'description' => 'Infinite Scrolling for article list', </span></span><span> <span>'thumbnail' => 'picture.jpg', </span></span><span> <span>'version' => '1.0.0', </span></span><span> <span>'author' => 'Tuan Anh Ho', </span></span><span> <span>'url' => '', </span></span><span> <span>'email' => 'anhhothai@gmail.com' </span></span><span><span>);</span></span>
line dan terus menggunakannya hingga akhir.
Oxconfig dan oxconfigdisplay . Oxid secara automatik akan memasukkan modul nilai: AHO_Infinitescroll ke dalam lajur oxModule (jadual Oxconfig) dan oxcfgModule (jadual OxConfigDisplay) dengan modul nilai: AHO_INFINITECROLL. Ini sangat berguna kerana ia berlaku secara automatik.
Seterusnya, kita melihat terjemahan back-end.
Menambah terjemahan back-end
Sila buka fail aho_infinitescroll/out/admin/en/aho_infinitescroll_lang.phpand tambahkan baris berikut di dalamnya.
<span>'extend' => array( </span> <span>'alist' => 'aho_infinitescroll/controllers/aho_infinitescroll_alist' </span> <span>), </span> <span>'templates' => array( </span> <span>'aho_infinitescroll_list.tpl' </span> <span>=> 'aho_infinitescroll/views/page/list/aho_infinitescroll_list.tpl' </span> <span>)</span>
Sila buka aho_infinitescroll/pengawal/aho_infinite_alist.php dan tambahkan baris berikut di dalamnya:
aho_infinitescroll/ | |--- controllers/ | |-- aho_infinite_alist.php # A new controller that extends alist.php | |--- out/ | |--admin/ | |--en/ | |-- aho_infinitescroll_lang.php # Back-end English text. | |--de/ | |-- aho_infinitescroll_lang.php # Back-end Deustch text. | | |--css/ | |--> infinitescroll.css # Style for infinite scrolling elements. | | |--img/ | |--> ajax-loader.gif # image indicates the loading status. | |--js/ | |--- translations/ | |--de/ | |--> aho_infinitescroll_lang.php # Front-end Deustch text. | |--en/ | |--> aho_infinitescroll_lang.php # Front-end English text. | |--- views/ | |-- page/ | |-- list/ | |--> aho_infinitescroll_list.tpl # new template file. | |--- metadata.php # Define extension name, classes and other infos. |--- picture.jpg # A thumbnail for the module's functionality.
Pengawal baru ini hanya beberapa perkara:
Tukar nilai $ _Sthistemplate ke aho_infinitescroll.tpl, yang telah kami tentukan dalam metadata.php: Sila ambil perhatian bahawa kita hanya perlu menentukan nama templat di sini. Oleh itu, nama templat harus unik. Ia membantu sistem mencari templat yang betul dengan cepat.
Fungsi yang diberikan tidak melakukan apa -apa tetapi hanya mengembalikan nama templat baru.
Fungsi getViewTypelist akan mengembalikan nilai lajur data SinfinitescrollListType yang ditakrifkan dalam metadata.php. Templat AHO_INFINITECROLL.TPL akan menggunakan nilai ini untuk menentukan jenis pandangan mana yang akan digunakan untuk senarai artikel.
Anda boleh perhatikan bahawa nama kelas lanjutan adalah aho_infinitescroll_alist_parent. Formula adalah nama pengawal modul _ induk.
<span><span><?php </span></span><span> </span><span><span>$sMetadataVersion = '1.0'; # Define version of this file </span></span><span> </span><span><span>// An array to store modules' details </span></span><span><span>$aModule = array </span></span><span><span>( </span></span><span> <span>'id' => 'aho_infinitescroll', </span></span><span> <span>'title' => '[AHO] Infinite Scrolling List', </span></span><span> <span>'description' => 'Infinite Scrolling for article list', </span></span><span> <span>'thumbnail' => 'picture.jpg', </span></span><span> <span>'version' => '1.0.0', </span></span><span> <span>'author' => 'Tuan Anh Ho', </span></span><span> <span>'url' => '', </span></span><span> <span>'email' => 'anhhothai@gmail.com' </span></span><span><span>);</span></span>
Baris di atas membantu mencetak kelas teras yang digunakan dalam paparan semasa. Jika anda ingin mengesan kelas teras yang melakukan permintaan Ajax, anda memerlukan sedikit usaha yang bekerja dengan alat Chromedev.
Setakat ini, kami telah melalui pelaksanaan back-end langkah demi langkah untuk membangunkan lanjutan modul baru. Pada masa ini, kita dapat mengaktifkan modul untuk melihat apa yang akan kita ada di papan pemuka pentadbiran. Sekiranya ada masalah, jangan ragu untuk meninggalkan komen anda di sini. Saya akan melakukan yang terbaik untuk membantu anda.
Bahagian seterusnya akan menjadi butiran mengenai pelaksanaan front-end penting, yang terdiri daripada menyesuaikan templat, dan menambah JavaScript untuk mengendalikan aliran kerja untuk menatal tak terhingga.
Bagaimana saya boleh melaksanakan tatal tak terhingga di eshop oksida menggunakan php? Panggilan Ajax dan sistem penomboran. Anda perlu mengubahsuai fungsi dalam pengawal senarai dan templat senarai produk untuk mengendalikan permintaan AJAX dan mengemas kini senarai produk. Langkah -langkah terperinci dan coretan kod boleh didapati dalam artikel. Sesuai untuk semua jenis laman web e-dagang. Sebagai contoh, jika laman web anda mempunyai footer dengan pautan penting, Infinite Scroll mungkin sukar bagi pengguna untuk mencapai footer. Juga, tatal tak terhingga kadang-kadang boleh mengelirukan bagi pengguna yang ingin menavigasi ke produk atau halaman tertentu. Tatal Infinite boleh dilaksanakan di pelbagai platform e-dagang yang menyokong pengekodan tersuai. Walau bagaimanapun, proses pelaksanaan mungkin berbeza -beza bergantung kepada seni bina dan bahasa pengekodan platform. Adalah disyorkan untuk merujuk kepada dokumentasi platform tertentu atau mencari bantuan daripada pemaju profesional.
Atas ialah kandungan terperinci Bina senarai tatal tak terhingga untuk eshop oksid - Asas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!