#1148 closed Bug/Fehler (fixed)
Tracking pageview_history funktioniert nicht richtig
| Reported by: | INETvisio | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | modified-shop-2.0.6.0 |
| Component: | Shop | Version: | 2.0.2.1 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Hallo,
folgendes BUG wurde entdeckt, dass die gleiche URLs immer wieder in die "History" mit aufgenommen werden.
Folgende Datei: includes/tracking.php
Folgende Abfrage speichert die letzte URL woher der Kunde gekommen ist:
if (!isset($_SESSION['tracking']['http_referer'])) $_SESSION['tracking']['http_referer']= $ref_url;
Diese Abfrage sollte normalerweise letzte URL vergleichen und die gleiche URLs nicht übernehmen:
if (end($_SESSION['tracking']['pageview_history']) != $_SESSION['tracking']['http_referer']) {
array_push($_SESSION['tracking']['pageview_history'], $ref_url);
}
Diese Variable $_SESSION[ 'tracking' ][ 'http_referer' ] ändert sich nicht und es muss durch $ref_url ausgetauscht werden.
Weiteres BUG ist Ajax/API-Anfrage. Alle Ajax/API-Anfragen sollten heraus genommen werden. Beispiel: Autovervollständigung wird bei der PageView-Tracking nicht gebraucht.
Hier könnte man auch überlegen ob man fremden Referer (z.B. von Google) als PageView mittracken möchte.
Gruß,
Jürgen H.
Attachments (0)
Change History (10)
comment:1 by , 9 years ago
| Milestone: | modified-shop-2.0.4.0 → modified-shop-2.0.2.2 |
|---|---|
| Version: | → 2.0.2.1 |
comment:2 by , 9 years ago
| Milestone: | modified-shop-2.0.2.2 → modified-shop-2.0.2.3 |
|---|
comment:3 by , 9 years ago
| Milestone: | modified-shop-2.0.2.3 → modified-shop-2.0.2.4 |
|---|
comment:4 by , 8 years ago
| Milestone: | modified-shop-2.0.4.0 |
|---|
comment:5 by , 5 years ago
| Milestone: | → modified-shop-2.0.6.0 |
|---|
comment:6 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
comment:8 by , 4 years ago
Bevor ich ein neues Ticket aufmache poste ich Folgendes mal hier:
In der /includes/tracking.php wird wegen der If-Clause
if (!isset($_SESSION['tracking']['http_referer'])) {
die Variable $_SESSION['tracking']['http_referer'] nur ein enziges mal pro Session bestückt/gesetzt und beinhaltet folglich nicht die zuletzt besuchte URL.
Ist das so gewollt ?
Wenn ja, warum ?
Dort wo die Variable benutzt wird, in
/inc/xtc_write_user_info.inc.php
und
/inc/xtc_update_whos_online.inc.php
ist der Wert nicht up-to-date wenn man das so macht.
Oder wurde exakt das bereits gefixt ?
Gruß,
noRiddle
comment:9 by , 4 years ago
Das ist ein gewolltes Verhalten, denn man will wissen woher der Kunde kommt und nicht wo im Shop eine Umleitung stattgefunden hat.
comment:10 by , 4 years ago
Verstehe.
Aber, wieso "Umleitung" ?
Egal, was ich meinte/möchte haben wir ja in der $_SESSION['tracking']['pageview_history'].
Gruß,
noRiddle

In 12973: