¿Por qué la funcionalidad de comparación está vinculada a la identificación de visitante (de registro)?

16

Lo primero que hago al iniciar un proyecto es preguntarle al cliente si necesita registros de usuario en su sitio web. En términos técnicos Mage_Logmódulo. En todos los casos hasta ahora obtuve la respuesta:

No. Utilizaremos Google Analytics.

Y la siguiente pregunta es "¿Quieres comparar productos?". Hago estas preguntas porque las tablas de registro tienden a convertirse en grandes horas extras y el sitio web se ralentiza. Por eso quiero evitar solucionar problemas de velocidad.

La segunda pregunta que hago es porque la sección de comparación de productos depende de los registros de los clientes invitados. Vea esto en el addActioncontrolador de comparación de productos:

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

Entonces, si el cliente quiere comparar productos, no puedo desactivar el registro.
Quiero decir que podría buscar una extensión o construir una, pero la verdadera pregunta es: ¿por qué la funcionalidad de comparación está vinculada a la identificación del visitante? ¿Algún buen resultado de esto? Las citas de invitados funcionan bien al hacer referencia a la identificación de la cita en la sesión. ¿Por qué no es lo mismo para comparar productos?

Marius
fuente
Probablemente porque nadie deshabilitaría ninguna parte de Magento, cada proyecto utiliza cada parte correctamente;)
David Manners
Mientras alguien implemente la posibilidad de deshabilitar un módulo central, no creo que esta sea la razón ... pero entiendo el chiste :).
Marius
De acuerdo, aunque he visto otras partes que no funcionan bien después de deshabilitar algunas extensiones. En resumen, es por eso que realmente no entiendo por qué la gente ama al compositor y Magento porque me parece extraño, ya que no se puede dividir de forma confiable los módulos principales.
David Manners
@DavidManners. Esperemos que esto sea posible hasta cierto punto en 2.0.
Marius
Entonces, volviendo a la pregunta, ¿qué sucedería si deshabilitara el módulo pero luego configurara su propio módulo con la configuración para log/visitorque funcionara con la información de la sesión? Nunca lo intenté yo mismo
David Manners

Respuestas:

7

Tal como está, diría que esta pregunta es algo que no se puede responder: la razón por la que usa las tablas de registro es porque sí. Realmente no creo que haya mucha razón aparte de decir que Mage_Log ha estado presente desde 0.6B y que los primeros esfuerzos pueden haber sido enganchar la funcionalidad inicial; después de algún tiempo, las limitaciones probablemente salieron a la luz y dejaron de desarrollarse en esa idea.

Esto realmente solo puede ser respondido completamente por alguien como Boris, pero estoy bastante seguro de que la respuesta a "por qué lo hiciste de esa manera" será "porque lo hicimos de esa manera".

philwinkle
fuente
1
Una respuesta "porque lo hicimos de esa manera" es mejor que una respuesta "porque ef you". Supongo que tienes razón, esto no tiene respuesta. Esperaba una respuesta de desarrollador principal. Aceptaré esta respuesta principalmente porque alguien se dio cuenta de que esto está mal y decidió cambiarla en Magento2. github.com/magento/magento2/issues/536
Marius
Estás en lo correcto. Falta de experiencia original con las consecuencias de la modularidad en las primeras etapas de desarrollo y, lo que es más importante, falta de tiempo para revisar y reescribir el código existente que ya "funciona"
Unirgy