Provedení akce při kliknutí na regulérní odkaz

Tečník
Člen | 18
+
0
-

Chci, aby se při kliknutí na odkaz provedla akce presenteru, ale zároveň se jednalo o regulérní odkaz, který přesměruje uživatele na externí stránku.
Využití je ve smyslu, že si někam poznačím, že uživatel kliknul na daný odkaz.

Jedna možnost by asi byla použít normální akci a až po jejím zpracování uživatele přesměrovat, ale rád bych, aby to byl skutečný odkaz.

Zatím mě napadla akorát tato možnost:
<a href="https://example.com" onclick="document.location={link markSeen $linkId}">

Akce se ale bohužel nezavolala, protože se hned provede přesměrování na novou stránku:

mezek
Člen | 3
+
+3
-

Napadá mě buď odkázat na akci, jako tedy to zapsání údaje, že kliknul na odkaz a tam se ti vyhodil redirect, nebo volat tu funkci v presenteru tvé cílové stránky.

Pokud nemáš k dispozici nebo nespravuješ tu stránku asi bych volil $this->redirectUrl(„https://example.com“);

Kamil Valenta
Člen | 762
+
-1
-

Na ten onclick si dej return false; tím se stopne vykonání hrefu.

V onclicku zavolej JS funkci, která ajaxem zavolá markSeen a až ajax doběhne, uděláš location na původní href.

Tečník
Člen | 18
+
0
-

Děkuji oběma. Použil jsem return false a volám akci, která zaznamená kliknutí na odkaz a pak na něj přesměruje pomocí $this->redirectUrl.