Rumah > pembangunan bahagian belakang > tutorial php > Bina senarai tatal tak terhingga untuk eshop oksid - Asas

Bina senarai tatal tak terhingga untuk eshop oksid - Asas

Christopher Nolan
Lepaskan: 2025-02-20 10:45:09
asal
232 orang telah melayarinya

Bina senarai tatal tak terhingga untuk eshop oksid - Asas

Takeaways Key

  • bahagian pertama tutorial merangkumi penciptaan struktur folder yang sesuai untuk lanjutan modul baru, bekerja dengan metadata.php untuk memperluaskan pengawal yang diperlukan, menggantikan templat yang ada dengan yang baru, dan tambahkan pilihan konfigurasi modul baru . Ia juga menerangkan cara bekerja dengan fail bahasa back-end untuk membuat nama paparan dan membantu teks untuk tetapan modul dan bagaimana untuk bekerja dengan pengawal modul baru.
  • Bahagian kedua tutorial akan memberi tumpuan kepada bekerja dengan templat baru, termasuk bagaimana untuk mendapatkan url modul dengan betul, bekerja dengan enjin templat oksida, menambah kandungan untuk templat baru, menambah javascript untuk mengendalikan pelaksanaan tatal tak terhingga pada senarai artikel, dan mengemas kini pandangan pangkalan data dan mengaktifkan modul.
  • Tutorial menganggap beberapa pengalaman kerja dengan eshop oksid, dan memberi tumpuan kepada pelaksanaan back-end untuk membangunkan lanjutan modul baru. 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.
  • Oxid Eshop

    , 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 ESALES

    yang datang dengan pelaksanaan standard untuk memulakan dengan sistem oksida. Dalam tutorial 2 bahagian ini, kami akan membuat lanjutan modul oksida baru yang melaksanakan

    Infinite Scrolling

    ke 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 1:

    • Membuat struktur folder yang betul untuk lanjutan modul baru.
    • Bekerja dengan metadata.php ke:
      • Memperluaskan pengawal yang diperlukan.
      • Gantikan templat sedia ada dengan templat baru.
      • tambahkan pilihan konfigurasi modul baru.
    • bagaimana untuk bekerja dengan fail bahasa back-end untuk membuat nama paparan dan membantu teks untuk tetapan modul.
    • bekerja dengan pengawal modul baru.

    Bahagian 2:

    • Bekerja dengan templat baru:
      • bagaimana untuk mendapatkan url modul dengan betul.
      • rekap untuk bekerja dengan enjin templat oksida.
      • Menambah kandungan untuk templat baru.
    • Menambah JavaScript untuk mengendalikan pelaksanaan tatal tak terhingga pada senarai artikel.
    • Mengemas kini pandangan pangkalan data dan mengaktifkan modul.

    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.

    struktur folder modul oksid

    Tugas yang paling penting yang perlu anda lakukan terlebih dahulu ialah membuat struktur folder standard.

    • sila pergi ke {your_web_root}/oksid/modul/
    • Buat folder baru yang dipanggil aho_infinitescroll diikuti oleh folder/fail berikutnya.
    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.
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk

    nota: 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.

    Bekerja dengan metadata.php

    metadata.php adalah penting untuk mana -mana pembangunan modul. Fail itu menyediakan butiran asas mengenai modul, kelas yang akan dilanjutkan, blok yang akan berlebihan, templat untuk diganti, tetapan untuk kedua-dua bahagian depan dan back-end, dan lain-lain

    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>
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    • Kami baru saja memasukkan maklumat asas untuk modul baru kami, dan semua elemen adalah deskriptif diri dengan istilah mereka.

    • Sila ambil perhatian bahawa ID dan tajuk adalah pembolehubah wajib. Terutama, nilai ID harus sama dengan nama folder modul.

    • Thumbnail adalah elemen pilihan yang menggambarkan modul anda secara visual. Saya biasanya menyediakan gambar kecil yang tampan kerana saya percaya bahawa gambar bernilai seribu perkataan. Kadang-kadang, anda berhasrat untuk menjual beberapa modul yang dibangunkan sendiri melalui pasaran oksida, dan lakaran kecil yang direka dengan lebih baik memikat lebih banyak pembeli.

    Seterusnya, kami akan menentukan beberapa lagi elemen, selepas e -mel.

    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.
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    • 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
    Kami meninggalkan fail templat baru kosong pada masa ini dan teruskan dengan fail metadata.php. Sila masukkan tetapan yang dipanggil Array sejurus selepas templat item:

    <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>
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    • Tetapan nilai adalah tempat untuk mendaftarkan semua pilihan konfigurasi modul baru. Kumpulan sentiasa mempunyai nilai yang sama dengan ID modul.

    • Nilai: Tetapan baru ini membantu menguruskan jenis paparan senarai. Dalam skop tutorial ini, saya akan menetapkan nilai lalai sebagai

      line dan terus menggunakannya hingga akhir.

    • Apabila kita mengaktifkan modul untuk kali pertama, tetapan ini dimasukkan ke dalam dua jadual

      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.

    anda boleh mengikuti dokumen metadata lanjutan dalam talian ini untuk membaca lebih lanjut mengenai hujah -hujah lain yang mungkin.

    Seterusnya, kita melihat terjemahan back-end.

    Menambah terjemahan back-end

    Di bahagian terakhir, kami menambah tetapan untuk modul baru. Kini sudah tiba masanya untuk bekerja dengan terjemahannya.

    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>
    Salin selepas log masuk
    • sintaks untuk menambah terjemahan untuk pilihan konfigurasi shop_module _ setting_column_name.

    • sintaks untuk menambah teks bantuan untuk pilihan konfigurasi bantuan_shop_module _ setting_colum_name.

    Barisan kod di atas akan menghasilkan output seperti dalam angka di bawah. Kemudian, apabila anda mengaktifkan modul, sila masukkan baris ke dalam kotak teks:


    Bina senarai tatal tak terhingga untuk eshop oksid - Asas

    sila lakukan perkara yang sama untuk fail aho_infinitescroll/out/admin/de/aho_infinitescroll_lang.php. Berikan nama slangnam $ yang berubah -ubah dengan nilai deustch dan mempunyai seseorang yang mengkhususkan diri dalam bahasa menerjemahkan semua teks ke dalam bahasa Jerman, atau hanya meletakkan kasar di sana, selagi ia berbeza dari bahasa Inggeris supaya anda dapat melihat perbezaannya.

    bekerja dengan pengawal baru

    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.
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk

    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.

    petua untuk mencari kelas yang diperlukan untuk melanjutkan

    • anda biasanya perlu tahu kelas mana yang perlu dilanjutkan. Terdapat cara mudah untuk mengetahui kelas mana yang sedang berjalan dalam pandangan semasa. Anda hanya menyemak imbas fail /Pplication/views/ {theme_name )/tpl/layout/page.tpl dan masukkan baris berikut di bahagian atas fail:
    <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>
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk

    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.

    Kesimpulan

    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.

    soalan yang sering ditanya mengenai membina senarai tatal tak terhingga di eshop oksid

    Apakah tujuan menggunakan Tatal Infinite di Eshop Oxid? kandungan sebaliknya. Dalam konteks eShop oksida, teknik ini boleh digunakan untuk terus memaparkan produk sebagai pengguna menatal ke halaman, meningkatkan pengalaman pengguna dengan membenarkan navigasi dan penerokaan produk yang lancar.

    Bagaimanakah Infinite Scroll meningkatkan prestasi laman web e-dagang? Daripada memuatkan semua produk sekaligus, yang boleh melambatkan tapak, Infinite Scroll memuat beberapa produk tertentu pada mulanya dan kemudian memuat lebih banyak kerana pengguna terus menatal. Ini bukan sahaja meningkatkan kelajuan tapak tetapi juga meningkatkan penglibatan dan pengekalan pengguna.

    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.

    Bagaimana skrol tak terhingga mempengaruhi SEO? Kandungan merangkak dan indeks yang betul dimuatkan melalui AJAX. Walau bagaimanapun, ini dapat dikurangkan dengan melaksanakan versi laman web anda untuk enjin carian, di samping versi tatal tak terhingga untuk pengguna. Pilihan popular untuk laman web e-dagang kerana fleksibiliti, skalabiliti, dan keteguhannya. Ia menyokong pelbagai pangkalan data dan serasi dengan pelbagai platform e-dagang, termasuk eshop oksid. Walau bagaimanapun, pilihan bahasa pengaturcaraan harus bergantung kepada keperluan dan kepakaran khusus anda. Pagination melibatkan pembahagian kandungan ke dalam halaman yang berasingan, sementara butang "memuat lebih banyak" membolehkan pengguna memuat lebih banyak kandungan secara manual. Pilihan antara pilihan ini bergantung pada reka bentuk laman web anda dan keutamaan pengguna anda.

    Bagaimanakah saya dapat menyesuaikan rupa dan rasa tatal tak terhingga di eshop oksid? Anda boleh mengubahsuai gaya penunjuk pemuatan, senarai produk, dan unsur -unsur lain yang sesuai dengan reka bentuk laman web anda. boleh memilih untuk melumpuhkan tatal tak terhingga untuk halaman tertentu di eshop oksid. Ini boleh dilakukan dengan mengubah keadaan dalam pengawal senarai dan templat senarai produk untuk mengecualikan halaman tertentu.

    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!

    Kenyataan Laman Web ini
    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
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan