---
title: "Fehler im News-Archiv"
url: "https://www.typo3.net/d/11754-fehler-im-news-archiv"
source: "typo3.net"
tags: ["Extensions","Frage","tt_news"]
created: "2004-05-23"
last_reply: "2004-12-10"
replies: 3
solved: true
page: 1
pages: 1
lang: "de"
---

# Fehler im News-Archiv

Extensions · 3 Antworten · gelöst · gestartet 2004-05-23

## Frage

**Unbekannter Benutzer** · 2004-05-23 · [Beitrag #1](https://www.typo3.net/d/11754-fehler-im-news-archiv/1)

Hallo allerseits,

nach dem ich mich mit der indexed search extension erheblich geärgert habe ist die news extension eine wahre Freude.

Bis auf einen Fehler, den zu beheben mir nicht gelingen will:

In der Archiv-Ansicht (AMENU) werden mir Zeiträume zur Auswahl angeboten, zusammen mit einer Anzeige wie viele Artikel in dem Zeitraum veröffentlicht wurden. So weit so gut. Zum Testen habe ich mir ein paar News Einträge für Februar und März mit entsprechendem Archivierungsdatum angelegt.

Das Problem: es werden mir in der Übersicht immer nur die Artikel des ersten Monats mit korrekten Einträgen angezeigt (z.B. "Februar - 1 Artikel"). März zeigt "0 Artikel", ein Klick auf März ruft jedoch die 2 darin enthaltenen Einträge auf. Verstecke ich die Februar-News ist der März wieder korrekt.

Wer weiss, woran es liegen könnte?

Vielen Dank schon mal!
Niki

P.S.: Archivdatum ist in den News korrekt gesetzt, News sind auch nicht auf "versteckt" geschalten. Das Newsarchiv ist als Inhaltselement mit Code AMENU eingebunden.

## Beste Antwort

**Unbekannter Benutzer** · 2004-05-24 · [Beitrag #3](https://www.typo3.net/d/11754-fehler-im-news-archiv/3)

Danke für den Tip, die Lösung auf der englischen Newslist war zwar falsch, aber die Fehlerquelle war korrekt ermittelt.

Bei der von der Newslist angebotenen Lösung werden alle archivierten News ausgegeben, auch die deren Archivdatum in der Zukunft liegt.

So funktionierts richtig (ab Zeile 173 der  pi/class.tx_ttnews.php ersetzen):

```php
	/**
	 * News archive menu
	 */
	function news_archiveMenu()	{
		$this->arcExclusive=1;
		$selectConf = $this->getSelectConf('',1);
		$tmpSelectConf["where"] = $selectConf["where"];

			// Finding maximum and minimum values:
		$selectConf['selectFields'] = 'max(datetime) as maxval, min(datetime) as minval';
		$res = $this->cObj->exec_getQuery("tt_news",$selectConf);
		$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);

		if ($row["minval"])	{
			$dateArr = array();
			$arcMode = $this->conf["archiveMode"] ? $this->conf["archiveMode"] : "month";
			$c=0;
			do {
				switch($arcMode)	{
					case "month":
						$theDate = mktime (0,0,0,date("m",$row["minval"])+$c,1,date("Y",$row["minval"]));
					break;
					case "quarter":
						$theDate = mktime (0,0,0,floor(date("m",$row["minval"])/3)+1+(3*$c),1,date("Y",$row["minval"]));
					break;
					case "year":
						$theDate = mktime (0,0,0,1,1,date("Y",$row["minval"])+$c);
					break;
				}
				$dateArr[]=$theDate;
				$c++;
				if ($c>1000)	break;
			} while ($theDate<$GLOBALS["SIM_EXEC_TIME"]);
	//		array_pop($dateArr);
	
			reset($dateArr);
			$periodAccum=array();


			while(list($k,$v)=each($dateArr))	{
				if (!isset($dateArr[$k+1]))	{break;}
				$periodInfo=array();
				$periodInfo["start"] = $dateArr[$k];
				$periodInfo["stop"] = $dateArr[$k+1]-1;
				$periodInfo["HRstart"] = date("d-m-Y",$periodInfo["start"]);
				$periodInfo["HRstop"] = date("d-m-Y",$periodInfo["stop"]);
				$periodInfo["quarter"] = floor(date("m",$dateArr[$k])/3)+1;
	
					// FInding maximum and minimum values:
				$selectConf['selectFields'] = 'count(*)';
				$selectConf['where'] = $tmpSelectConf["where"]." AND datetime>=".$periodInfo["start"]." AND datetime<".$periodInfo["stop"];
				//print_r($selectConf);
				$res = $this->cObj->exec_getQuery("tt_news",$selectConf);
				$row = $GLOBALS['TYPO3_DB']->sql_fetch_row($res);
				$periodInfo["count"]=$row[0];
				
				if (!$this->conf["archiveMenuNoEmpty"] || $periodInfo["count"])	{
					$periodAccum[] = $periodInfo;
				}
			}
```

Aber Achtung, wir haben hier nur einen workaround gemacht der bei uns so funktioniert, richtig sauber gelöst ist es jedoch nicht.

Viele Grüße,
Niki

## Antworten

### [#2](https://www.typo3.net/d/11754-fehler-im-news-archiv/2) · jweiland · 2004-05-24

Scheint ein Bug in der Extension zu sein, da gab es kürzlich einen Beitrag (mit Lösung) auf der engl. Newsliste

Jochen Weiland

### [#3](https://www.typo3.net/d/11754-fehler-im-news-archiv/3) · Unbekannter Benutzer · 2004-05-24 · Beste Antwort

(Text siehe oben unter „Beste Antwort“.)

### [#4](https://www.typo3.net/d/11754-fehler-im-news-archiv/4) · njutn · 2004-12-10

Der Thread ist zwar schon ewig alt, hat mir aber bei was anderem geholfen (für die, die das Problem auch haben):

Bei mir hat das Plugin im Archiv keine News angezeigt, die im aktuellen Monat erstellt UND archiviert wurden. Verwendet man den Workaround, wie im vorherigen Beitrag, funzt auch das. Wichtig sind nur die Zeilen:

$tmpSelectConf["where"] = $selectConf["where"];

...

$selectConf['where'] = $tmpSelectConf["where"]." AND datetime>=".$periodInfo["start"]." AND datetime<".$periodInfo["stop"];

Den Rest kann man so lassen... bei mir zumindest ;-)

---

Quelle: „Fehler im News-Archiv“, typo3.net, https://www.typo3.net/d/11754-fehler-im-news-archiv
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
