Zum Inhalt springen

News Endtime über Starttime bestimmen

Erstellt am 25. August 2004 · 3 Antworten · letzte Antwort am 31. August 2004

Tags: tt_news, PHP, Frage

ben ·

Hi alle zusammen,

schonmal danke fürs lesen..
Weiss einer von euch, wie ich die endtime der tt_news überarbeiten kann?

Und zwar möchte ich, dass der Benutzer nur die Starttime eingeben muss und die Endtime dann die Werte von der Starttime übernimmt und hier noch 1 Tag hinzurechnet.

Ist die Starttime also 25.08.2004, so
soll die Endtime 26.08.2004 sein.

Achja, und das Ganze soll nur der Fall sein, wenn der Code "LATEST" ist.

$this->initCategories();

switch($theCode) {

case "LATEST":

//Hier mein missglückter Versuch
$endtime = $row["starttime"];

$prefix_display="displayLatest";

$templateName = "TEMPLATE_LATEST";

$this->arcExclusive=-1; // Only latest, non archive news

if (intval($this->conf["latestLimit"])) $this->config["limit"] = intval($this->conf["latestLimit"]);

break;

Habe auch schon in selfphp nachgeforstet. Da meine PHP-Kenntnisse aber nicht sonderlich hoch sind muss ich da leider passen :o

Ist glaube ich mein letztes Problem, bevor die Page online gehen kann, jedoch hänge ich an diesem Problem schon seit ca 2 Monaten 😢

Wäre super, wenn mir da jemand helfen könnte...

Liebe Grüße, Ben

ben ·

hm, ich habe ja das durch meine Extension
newsext1 (tx_ben2) der tt_news unter anderem das Feld tx_txben2_eventdateende hinzugefügt.
Gibt es die eine Möglichkeit der tt_news zu sagen, dass wenn der Code "LATEST" ist und das Datum des Feldes tx_txben2_eventdateende älter ist als das heutige Datum (also der Termin in der Vergangenheit liegt), dass er dann die News nicht mehr anzeigen soll? Notfalls würde es ja auch reichen, wenn er "hidden" auf 1 setzt
Wenn ja, hat jemand eine Idee wie das geht?

if $theCode=="LATEST" && tx_txben2_eventdateende <= mktime()
{hidden=1;
}
else
{hidden=0;}

So haut es jedenfalls nicht wirklich hin. Abegesehen davon bin ich mir auch nicht ganz sicher, wohin ich letzendlich mit dem code soll 😢

doku ·

na gut... 😉

ich bin bei sowas immer extrem pragmatisch.
was spräche denn dagegen, einfach eine zeit von 32 tagen bis zur automatischen archivierung vorzugeben. und schwupps, is der eintrag wech... 😉

ist der nachteil, daß es manchmal 31 tage sein sollten, wirklich so erheblich?

ben ·

Ok, ich glaub du hast es ein wenig falsch verstanden.
Ich habe die tt_news ein wenig umgecoded.
LIST + SINGLE setze ich für meinen Newsbereich ein.

LATEST habe ich so umgeschrieben, dass ich es als Terminplaner nutzen kann.

Zur Veranschaulichung:

News:
http://www.tsgreutlingen.de/index.php?id=3&backPID=3&tt_news=114

Termine:
http://www.tsgreutlingen.de/index.php?id=4

Wie du siehst werden meine Termine absteigend aufgelistet. Das heisst die Termine, welche als erstes eintreffen stehen oben.

Wenn man nun den obersten Termin betrachtet:

Do, 26.08.04 - Sa, 28.08.04

Der Termin startet am 26.08.04 und endet am 28.08.04

Diese 2 Felder habe ich mit dem Kickstarter "Extent existing Table" hinzugefügt.

<?php
if (!defined ("TYPO3_MODE")) 	die ("Access denied.");
$tempColumns = Array (
	"tx_txben2_eventdate" => Array (		
		"exclude" => 0,		
		"label" => "LLL:EXT:tx_ben2/locallang_db.php:tt_news.tx_txben2_eventdate",		
		"config" => Array (
			"type" => "input",
			"size" => "8",
			"max" => "20",
			"eval" => "date",
			"checkbox" => "0",
			"default" => "0"
		)
	),
	"tx_txben2_eventdateende" => Array (		
		"exclude" => 0,		
		"label" => "LLL:EXT:tx_ben2/locallang_db.php:tt_news.tx_txben2_eventdateende",		
		"config" => Array (
			"type" => "input",
			"size" => "8",
			"max" => "20",
			"eval" => "date",
			"checkbox" => "0",
			"default" => "0"
		)
	),
);


t3lib_div::loadTCA("tt_news");
t3lib_extMgm::addTCAcolumns("tt_news",$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes("tt_news","tx_txben2_eventdate;;;;1-1-1, tx_txben2_eventdateende");
?>

Für den Redaktuer sind in der Eingabemaske für Termine die "Starttime" und "Endtime" der tt_news nicht sichtbar. Er trägt lediglich ein, wann der Termin startet/endet.

Ziel ist es nun, dass Termine, welche in der Vergangenheit liegen nicht mehr angezeigt werden. Jedoch wäre es nicht akzeptabel Starttime und Endtime anzuzeigen und von Redaktuer zu verlangen, dass er die Termindaten + Starttime + Endtime ausfüllt.
Abgesehen davon füllt der dumme Redaktuer dann die Endtime auch noch falsch aus...

Ist eigentlich ein logisches Problem nur bekomme ich es nicht gebacken zu sagen:
Wenn code = latest dann endtime = eventdateende + 1tag

Bin ich der Einzige, der solch konkrete Vorgaben von oben hat? 😃

*EDIT*

Oder habe ich dich falsch verstanden?! :o