---
title: "FE_User soll sehen was Neu ist"
url: "https://www.typo3.net/d/69181-fe-user-soll-sehen-was-neu-ist"
source: "typo3.net"
tags: ["TYPO3","Frontend","Frage","Frontend-Benutzer"]
created: "2007-10-10"
last_reply: "2007-10-15"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# FE_User soll sehen was Neu ist

TYPO3 › Frontend · 3 Antworten · gestartet 2007-10-10

## Eröffnungsbeitrag

**ABDA** · 2007-10-10 · [Beitrag #1](https://www.typo3.net/d/69181-fe-user-soll-sehen-was-neu-ist/1)

Folgendes Problem:

Im geschlossenen Bereich soll ein FE_User sehen, was seit seinem letzten Besuch neu ist. Das sowohl im Menü, als auch bei den einzelnen Einträgen.
Geht das?

Die Tabelle fe_users hat ja das lastlogin und zu jedem tt_content und page existiert ein tstamp.

Da müsste doch was zu machen sein. Ich habe leider noch keine konkrete Idee.

Fürs Menü muss doch so was wie folgt gehen:

```typoscript
30 = TEXT
30.value = NEU!
30.offset = 10,10
30.if {
  value.data = date: U
  isLessThan.field = newUntil
  negate = 1
}
```

Statt dem "date: U" und dem "newUntil" müssen doch dann irgendwie die Datenbankeinträge ersetzt werden.

## Antworten

### [#2](https://www.typo3.net/d/69181-fe-user-soll-sehen-was-neu-ist/2) · ABDA · 2007-10-15

Hab selbst am Wochenende noch mal drüber gebrütet. Bin zwar schon weiter gekommen habe aber noch ein paar Probleme.

Zuerst habe ich das Plugin loginusertrack installiert und in der Datei class.ux_tslib_fe.php die Funktion addNewEntry aufgebohrt:

```php
	function ext_addNewEntry()	{
	  // insert last logintime in fe_users.tx_prevlogin
		$query = "SELECT * FROM tx_loginusertrack_stat WHERE fe_user=".intval($this->fe_user->user["uid"])." ORDER BY session_login DESC LIMIT 1";
		$res = mysql(TYPO3_db,$query);
		$row=mysql_fetch_assoc($res);
		if (is_array($row))	{
			$query = "UPDATE fe_users SET tx_prevlogin=".intval($row["session_login"])." WHERE uid=".intval($row["fe_user"]);
			$res = mysql(TYPO3_db,$query);
		}

    // create new entry in tx_loginusertrack_stat
		$query="INSERT INTO tx_loginusertrack_stat (fe_user,session_login,last_page_hit,session_hit_counter,page_id)
				VALUES (".intval($this->fe_user->user["uid"]).",".time().",".time().",1,".intval($this->id).")";

		$res=mysql(TYPO3_db,$query);
		echo mysql_error();
	}
...
```

Jetzt wird in das neue Feld tx_prevlogin in fe_users der "letzte Login vor diesem Login" geschrieben.
So weit, so gut.
Jetzt habe ich versucht mit folgendem Script zu erkennen, ob ein Eintrag Neu ist, d.h. seit dem letzem Besuch erstellt/geändert wurde:

```typoscript
  10.marks.CONTENT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0

    renderObj = COA
    renderObj {
      10 = TEXT
      10 {
        wrap =<table width=100%><tr><td><b>|&nbsp;<img src="fileadmin/template/images/alarm.gif" alt="Neu"></b></td>
        field = header
        if{
          value.data = TSFE:fe_user|user|tx_prevlogin
          isLessThan.field = tstamp
          negate = 1
        }
      }
```

Funktioniert auch prima... fast.
Beim nächsten Login, wird weiterhin der "alte" Login vom letzten Login benutzt. Hier scheint mir das cachen der templates ein Bein zu stellen.
Wenn ich den fe_cache lösche oder das template veränder erhalte ich den "aktuellen" letzten Login.

Wie kann ich das noch umgehen?
Hat jemand eine Idee?

### [#3](https://www.typo3.net/d/69181-fe-user-soll-sehen-was-neu-ist/3) · just2b · 2007-10-15

renderObj = COA_INT

sonst ein COA_INT und dort drin dein cObj CONTENT

### [#4](https://www.typo3.net/d/69181-fe-user-soll-sehen-was-neu-ist/4) · ABDA · 2007-10-15

COA_INT hat funktioniert, Danke!

---

Quelle: „FE_User soll sehen was Neu ist“, typo3.net, https://www.typo3.net/d/69181-fe-user-soll-sehen-was-neu-ist
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
