Чому функція порівняння пов'язана з ідентифікатором відвідувача (журналу)?


16

Перше, що я роблю, коли починаю проект - це запитати клієнта, чи потрібні йому користувацькі журнали на його веб-сайті. У технічному плані Mage_Logмодуль. У всіх випадках поки що я отримав відповідь:

Ні. Ми будемо використовувати Google Analytics.

І наступне питання - "Ви хочете порівняти товари?". Я задаю ці питання, оскільки таблиці журналів, як правило, стають великими понаднормово, а веб-сайт стає повільним. Тому я хочу уникати виправлень проблем із швидкістю.

Друге запитання, яке я задаю, полягає в тому, що розділ порівняння продуктів залежить від журналів для відвідувачів. Дивіться це в addActionконтролері порівняння продукту:

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

Тож якщо клієнт хоче порівняти продукти, я не можу відключити ведення журналу.
Я маю на увазі, що я міг би шукати розширення або створити його, але справжнє питання: Чому функція порівняння пов'язана з ідентифікатором відвідувача? Будь-який хороший результат цього ?. Цитати гостей добре функціонують, посилаючись на ідентифікатор цитати в сеансі. Чому б не те ж саме для порівняння продуктів?


Можливо, тому, що ніхто не відключать жодну частину Magento, коли-небудь проект використовує кожну частину правильно;)
David Manners

Поки хтось реалізував можливість відключити основний модуль, я не думаю, що це причина ... але я отримую жарт :).
Маріус

Погодився, хоч після відключення деяких розширень я бачив і інші частини, які не грають добре. Коротше кажучи, тому я не дуже розумію, чому люди люблять композитора, і Magento викликає у мене це дивно, оскільки ви не можете надійно розділити основні модулі.
Девід Маннерс

@DavidManners. Сподіваємось, це стане можливим певною мірою на 2.0.
Маріус

тому повернемося до питання, що буде, якщо ви відключили модуль, але потім встановили власний модуль з config для log/visitorроботи з інформацією про сеанс? Ніколи не пробував цього сам
Девід Маннерс

Відповіді:


7

На даний момент я б сказав, що це питання є дещо невимушеним - причина в тому, що він використовує таблиці журналів, є тому, що це так. Я дійсно не думаю, що існувало багато обґрунтування, крім того, щоб сказати, що Mage_Log присутній з 0.6B, і що раніше можливі зусилля, пов’язані з підключенням початкової функціональності; через деякий час обмеження, ймовірно, з'явилися, і вони перестали розвиватися на цій ідеї.

На це справді можна повністю відповісти лише хтось, як Борис, але я досить впевнений, що відповідь на питання "чому ти зробив це так" буде "тому, що ми це зробили саме так".


1
Відповідь "тому, що ми це зробили так" - відповідь краще, ніж відповідь "тому, що ти". Напевно, ви праві, це невиправдано. Я сподівався на відповідь розробника. Я прийму цю відповідь головним чином тому, що хтось зрозумів, що це неправильно, і вирішив змінити його в Magento2. github.com/magento/magento2/isissue/536
Marius

Ви праві. Оригінальний брак досвіду з наслідками модульності на ранніх стадіях розвитку, а ще важливіше брак часу для перегляду та перезапису існуючого коду, який уже «працює»
Unirgy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.