Mengapa fungsi perbandingan dikaitkan dengan id pengunjung (log)?

16

Hal pertama yang saya lakukan ketika memulai sebuah proyek adalah bertanya kepada klien apakah ia membutuhkan log pengguna di situs webnya. Dalam Mage_Logmodul istilah teknis . Dalam semua kasus sejauh ini saya mendapat jawabannya:

Tidak. Kami akan menggunakan Google Analytics.

Dan pertanyaan selanjutnya adalah "Apakah Anda ingin membandingkan produk?". Saya mengajukan pertanyaan ini karena tabel log cenderung menjadi besar lembur, dan situs web menjadi lambat. Jadi saya ingin menghindari memperbaiki masalah kecepatan.

Pertanyaan kedua yang saya ajukan adalah karena bagian produk perbandingan tergantung pada log untuk pelanggan tamu. Lihat ini di addActionpengontrol perbandingan produk:

 if ($productId
        && (Mage::getSingleton('log/visitor')->getId() || Mage::getSingleton('customer/session')->isLoggedIn())
    )

Jadi jika klien ingin membandingkan produk, saya tidak dapat menonaktifkan logging.
Maksud saya, saya dapat mencari ekstensi atau membuat ekstensi, tetapi pertanyaan sebenarnya adalah: Mengapa fungsi perbandingan dikaitkan dengan id pengunjung? Adakah hasil yang baik dari ini? Kutipan tamu berfungsi dengan baik dengan merujuk id kutipan di sesi. Mengapa tidak sama untuk membandingkan produk?

Marius
sumber
Mungkin karena tidak ada yang akan menonaktifkan bagian mana pun dari Magento, pernah proyek menggunakan setiap bagian dengan benar;)
David Manners
Selama seseorang menerapkan kemungkinan untuk menonaktifkan modul inti saya tidak berpikir ini alasannya ... tapi saya mendapatkan lelucon :).
Marius
Setuju, meskipun saya telah melihat bagian lain yang tidak bermain dengan baik setelah menonaktifkan beberapa ekstensi. Singkatnya itu sebabnya saya tidak begitu mengerti mengapa orang-orang menyukai komposer dan Magento membuat saya merasa aneh karena Anda tidak dapat membagi modul inti dengan andal.
David Manners
@ Davidvider. Semoga ini akan memungkinkan untuk beberapa derajat pada 2.0.
Marius
jadi kembali ke pertanyaan apa yang akan terjadi jika Anda menonaktifkan modul tetapi kemudian mengatur modul Anda sendiri dengan konfigurasi untuk log/visitoryang bekerja dengan informasi sesi? Belum pernah mencobanya sendiri
David Manners

Jawaban:

7

Seperti berdiri saya akan mengatakan bahwa pertanyaan ini agak tidak dapat dijawab - alasan menggunakan tabel log adalah karena itu. Saya benar-benar tidak berpikir bahwa ada banyak alasan selain untuk mengatakan bahwa Mage_Log telah hadir sejak 0.6B dan bahwa upaya awal mungkin untuk menghubungkan fungsi awal di atasnya; Setelah beberapa waktu, keterbatasan mungkin terungkap dan mereka berhenti mengembangkan gagasan itu.

Ini benar-benar hanya dapat dijawab sepenuhnya oleh seseorang seperti Boris, tetapi saya cukup yakin bahwa jawaban untuk "mengapa Anda melakukannya seperti itu" akan "karena kami melakukannya dengan cara itu."

Philwinkle
sumber
1
Jawaban "karena kami melakukannya" lebih baik daripada jawaban "karena ef Anda". Saya kira Anda benar, ini tidak bisa dijawab. Saya berharap jawaban pengembang inti. Saya akan menerima jawaban ini terutama karena seseorang menyadari ini salah dan memutuskan untuk mengubahnya di Magento2. github.com/magento/magento2/issues/536
Marius
Anda benar. Kurangnya pengalaman dengan konsekuensi modularitas pada tahap awal pengembangan, dan yang lebih penting, kurangnya waktu untuk meninjau kembali dan menulis ulang kode yang sudah ada yang "berfungsi"
Unirgy