Best Practice für Programmlogik, die bei JEDEM Request durchgeführt werden soll

Hello everybody,

wenn ich bei jedem Aufruf von Shopseiten (egal ob Artikel-Detailansicht, Listenansicht, VCMS-Seite etc.) eine bestimmte Verarbeitungslogik - in diesem Fall das Setzen eines Cookies, wenn der Request von einem Affiliate-Referrer kommt oder einen entsprechenden URL-Parameter aufweist - durchlaufen will: Wo hänge ich mich dann am besten rein?

Bei uns im Code findet man die unterschiedlichsten Varianten, von der überschriebenen _render()-Methode in der ShopControl-Klasse bis zu einer Smarty-Extension im Basis-Template unseres Frontends. Letztere Variante erscheint mir blödsinnig, da es sich hier nicht um ein Frontend-Thema handelt - aber ist erstere Variante der Weisheit letzter Schluss? Wie würdet Ihr das machen?

Dankbar für Ideen,
butz79

Da das bei jedem Request passieren soll, wird es schon spannend, eine per Modul überladbare Klasse zu finden, die das machen kann. Ich würde das vermutlich über eine der Component-Klassen versuchen. Entweder eine Bestehende überladen oder eine neue Klasse genau für diesen Zweck registrieren.

Ich würde mir da mal anschauen ob man das in den FrontendController einbauen kann. Die Frage ist halt auch was da für eine zusätzliche Logik laufen soll, damit man beurteilen kann, wo man sie am besten hinpackt.