Pierwszą rzeczą, którą robię, rozpoczynając projekt, jest zapytanie klienta, czy potrzebuje dzienników użytkownika na swojej stronie internetowej. Pod względem technicznym Mage_Log
moduł. We wszystkich dotychczasowych przypadkach otrzymałem odpowiedź:
Nie. Będziemy używać Google Analytics.
Kolejne pytanie brzmi: „Czy chcesz porównać produkty?”. Zadaję te pytania, ponieważ tabele dziennika stają się z czasem duże, a strona internetowa działa wolno. Chcę więc uniknąć problemów z prędkością.
Drugie pytanie, które zadaję, dotyczy tego, że sekcja porównywania produktów zależy od dzienników klientów-gości. Zobacz to w addAction
kontrolerze porównania produktów:
if ($productId
&& (Mage::getSingleton('log/visitor')->getId() || Mage::getSingleton('customer/session')->isLoggedIn())
)
Więc jeśli klient chce porównać produkty, nie mogę wyłączyć rejestrowania.
Mam na myśli, że mogę wyszukać rozszerzenie lub je zbudować, ale prawdziwe pytanie brzmi: dlaczego funkcja porównywania jest powiązana z identyfikatorem użytkownika? Jakikolwiek dobry wynik tego ?. Cytaty gości działają ładnie, odwołując się do identyfikatora cytatu w sesji. Dlaczego nie to samo w przypadku porównywania produktów?
log/visitor
która działała z informacjami o sesji? Nigdy sam tego nie próbowałemOdpowiedzi:
Na obecnym etapie powiedziałbym, że to pytanie jest w pewnym stopniu nie do odpowiedzi - powodem, dla którego używa tabel dzienników, jest to, że tak. Naprawdę nie sądzę, aby istniało wiele innych powodów niż stwierdzenie, że Mage_Log jest obecny od 0.6B i że wczesne wysiłki mogły być uzależnione od początkowej funkcjonalności; po pewnym czasie ograniczenia prawdopodobnie wyszły na jaw i przestały rozwijać ten pomysł.
Naprawdę na to pytanie może odpowiedzieć tylko ktoś taki jak Boris, ale jestem całkiem pewien, że odpowiedź na pytanie „dlaczego to zrobiłeś w ten sposób” będzie brzmiała „dlatego, że zrobiliśmy to w ten sposób”.
źródło