Perché la funzionalità di confronto è collegata all'ID visitatore (registro)?


16

La prima cosa che faccio all'avvio di un progetto è chiedere al cliente se ha bisogno dei log degli utenti nel suo sito web. In termini tecnici Mage_Logmodulo. In tutti i casi finora ho avuto la risposta:

No. Useremo Google Analytics.

E la domanda successiva è "Vuoi confrontare i prodotti?". Faccio queste domande perché le tabelle dei registri tendono a diventare straordinarie e il sito Web diventa lento. Quindi voglio evitare di risolvere i problemi di velocità.

La seconda domanda che faccio è perché la sezione di confronto dei prodotti dipende dai registri per i clienti ospiti. Vedi questo nel addActioncontroller di confronto del prodotto:

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

Quindi se il cliente desidera confrontare i prodotti non posso disabilitare la registrazione.
Voglio dire, potrei cercare un'estensione o crearne una, ma la vera domanda è: perché la funzionalità di confronto è collegata all'ID visitatore? Qualche buon risultato di questo ?. Le citazioni degli ospiti funzionano bene facendo riferimento all'ID della citazione nella sessione. Perché non lo stesso per confrontare i prodotti?


Probabilmente perché nessuno disabiliterebbe nessuna parte di Magento, ogni progetto usa ogni parte in modo corretto;)
— David Manners

Finché qualcuno ha implementato la possibilità di disabilitare un modulo principale, non penso che questo sia il motivo ... ma ho la battuta :).
— Marius

D'accordo, anche se ho visto altre parti che non suonano bene dopo aver disabilitato alcune estensioni. In breve, è per questo che non capisco perché la gente ama il compositore e Magento mi fa sembrare strano perché non puoi dividere in modo affidabile i moduli principali.
— David Manners,

@DavidManners. Spero che questo sarà possibile in qualche modo su 2.0.
— Marius

quindi tornando alla domanda cosa succederebbe se disabilitassi il modulo ma poi configurassi il tuo modulo con la configurazione per log/visitorlavorare con le informazioni sulla sessione? Non l'ho mai provato da solo
— David Manners,

Risposte:


7

Allo stato attuale direi che questa domanda è in qualche modo senza risposta - il motivo per cui utilizza le tabelle di registro è perché lo fa. Non credo davvero che ci fosse molta altra logica oltre a dire che Mage_Log era presente da 0.6B e che i primi sforzi potrebbero essere stati per agganciarvi la funzionalità iniziale; dopo qualche tempo i limiti probabilmente sono emersi e hanno smesso di svilupparsi su quell'idea.

A qualcuno come Boris può davvero rispondere completamente, ma sono abbastanza sicuro che la risposta a "perché l'hai fatto in quel modo" sarà "perché l'abbiamo fatto in quel modo".


1
Una risposta "perché l'abbiamo fatta in questo modo" è meglio di una risposta "perché hai te". Immagino tu abbia ragione, questo è senza risposta. Speravo in una risposta chiave per gli sviluppatori. Accetterò questa risposta principalmente perché qualcuno ha capito che è sbagliato e ha deciso di cambiarlo in Magento2. github.com/magento/magento2/issues/536
— Marius

Hai ragione. Mancanza originale di esperienza con conseguenze sulla modularità nelle prime fasi di sviluppo e, soprattutto, mancanza di tempo per rivisitare e riscrivere il codice esistente che già "funziona"
— Unirgy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.