Pourquoi la fonctionnalité de comparaison est-elle liée à l'ID visiteur (journal)?


16

La première chose que je fais lors du démarrage d'un projet est de demander au client s'il a besoin de journaux d'utilisateurs sur son site Web. Mage_LogModule en termes techniques . Dans tous les cas jusqu'à présent, j'ai obtenu la réponse:

Non, nous utiliserons Google Analytics.

Et la question suivante est "Voulez-vous comparer les produits?". Je pose ces questions parce que les tables de journal ont tendance à devenir de grandes heures supplémentaires, et le site Web devient lent. Je veux donc éviter de résoudre les problèmes de vitesse.

La deuxième question que je pose est que la section de comparaison des produits dépend des journaux des clients invités. Voir ceci dans le addActioncontrôleur de comparaison de produits:

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

Donc, si le client veut comparer les produits, je ne peux pas désactiver la journalisation.
Je veux dire que je pourrais rechercher une extension ou en créer une, mais la vraie question est: pourquoi la fonctionnalité de comparaison est-elle liée à l'identifiant du visiteur? Tout bon résultat de cela?. Les guillemets invités fonctionnent bien en référençant l'id du devis dans la session. Pourquoi pas la même chose pour comparer les produits?


Probablement parce que personne ne désactiverait aucune partie de Magento, jamais le projet n'utilise toutes les parties correctement;)
David Manners

Tant que quelqu'un a implémenté la possibilité de désactiver un module de base, je ne pense pas que ce soit la raison ... mais je reçois la blague :).
Marius

D'accord, même si j'ai vu d'autres parties qui ne fonctionnent pas bien après avoir désactivé certaines extensions. En bref, c'est pourquoi je ne comprends pas vraiment pourquoi les gens aiment le compositeur et Magento parce que pour moi, c'est étrange car vous ne pouvez pas diviser de manière fiable les modules de base.
David Manners

@DavidManners. Espérons que cela sera possible dans une certaine mesure sur 2.0.
Marius

revenons donc à la question que se passerait-il si vous désactiviez le module mais que vous configuriez ensuite votre propre module avec config pour log/visitorque cela fonctionne avec les informations de session? Je n'ai jamais essayé moi
David Manners

Réponses:


7

Dans l'état actuel des choses, je dirais que cette question est quelque peu sans réponse - la raison pour laquelle elle utilise les tables de journal est parce qu'elle le fait. Je ne pense vraiment pas qu'il y ait eu beaucoup de raisons autres que de dire que Mage_Log est présent depuis la 0.6B et que les premiers efforts ont pu être pour y accrocher la fonctionnalité initiale; après un certain temps, les limitations ont probablement été révélées et ils ont cessé de développer cette idée.

Cela ne peut vraiment être répondu pleinement que par quelqu'un comme Boris, mais je suis assez confiant que la réponse à "pourquoi l'avez-vous fait de cette façon" sera "parce que nous l'avons fait de cette façon".


1
Une réponse «parce que nous l'avons fait de cette façon» est meilleure qu'une réponse «parce que vous». Je suppose que vous avez raison, c'est sans réponse. J'espérais une réponse du développeur principal. J'accepterai cette réponse principalement parce que quelqu'un a réalisé que c'était faux et a décidé de la changer dans Magento2. github.com/magento/magento2/issues/536
Marius

Vous avez raison. Manque d'expérience originale avec des conséquences de modularité sur les premiers stades de développement, et surtout manque de temps pour revoir et réécrire le code existant qui "fonctionne" déjà
Unirgy
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.