NEWS {NEW:5}

Hier bekommst Du deutschsprachigen Support. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
TAOG
Posts: 206
Joined: Fri 17. Sep 2004, 20:14
Location: Berlin/Germany
Contact:

Post by TAOG »

ok, sagen wir mal so. du meinst den zeitraum in dem ein artikel sichtbar sein soll. wir nahmen eher an du meinst das datum des erstellens des artikels. :roll:
aber alles halb so schlimm. wir reden ja zivilisiert drüber :D
Buster
Posts: 50
Joined: Sat 9. Oct 2004, 12:16

Post by Buster »

Earl of Mar wrote:also leute, seid mir nicht böse, aber:

1. das startdatum läßt sich bei meinem backend direkt bearbeiten (ich meine nicht das feld article_created, sondern das feld article_begin - im backend heisst es auch startdatum). das datum kann man ändern, ohne die datenbank zu edieren. das startdatum ist eigentlich vorgesehen, um den artikel erst ab diesem datum anzuzeigen, funktioniert natürlich auch mit zurückdatieren.

2. ich ersetze den sql aufruf in der o.g. function durch

Code: Select all

$sql =	"SELECT article_id, article_title, article_cid, article_subtitle, UNIX_TIMESTAMP(article_begin) ".
				"FROM ".DB_PREPEND."phpwcms_article WHERE ".
				"article_id<>".intval($current_article_id)." AND ".
				"article_public=1 AND article_aktiv=1 AND article_deleted=0 AND ".
				"article_begin < NOW() AND article_end > NOW() AND (".$where.") ".
                                "ORDER BY article_begin DESC".$limit.";"; 
damit wird {related} nach diesem datum sortiert.

3. damit die ausgabe von {related} ähnlich aussieht, wie bei {new}, also mit unserem startdatum füge ich noch eine zeile in die funktion ein:

Code: Select all

if($template_default["link_length"] && strlen($row[1]) > $template_default["link_length"]) {
					$article_title = substr($row[1], 0, $template_default["link_length"]).$template_default["cut_title_add"];
				} else {
					$article_title = $row[1];
				}

                                // diese Zeile einfügen
                                $article_title = international_date_format("DE","d.m.Y",$row[4])." ".$article_title;
                           

				$keyword_links .= $template_default["link_before"].$template_default["link_symbol"];
				$keyword_links .= '<a href="index.php?id='.$row[2].','.$row[0].',0,0,1,0"';
				$keyword_links .= $target.">".html_specialchars($article_title)."</a>";
Damit kann ich jetzt einen alten artikel am 01.11.2004 edieren, sein startdatum auf 01.01.2003 setzen. wenn ich den artikel bearbeite, bleibt er bei {related} weitehin an der alten stelle einsortiert und rutscht nicht wieder nach vorne.

4. was mich hier im forum stört, dass einige pappenheimer auf fragen antworten, obwohl sie a. die fragen nicht verstanden haben und b. keine antwort darauf haben. ist vielleicht gut gemeint, verfehlt aber den zweck.

grüße
hallo,

ich habe das nun mal sa eingebaut wie oben beschrieben. das hat auch alles wunderbar funktioniert. allerdings benötige ich die ausgabe wie folgt:

1. datum an dem der artikel verfasst wurde (nicht an dem er geändert wurde)
2. der neuste artikel soll hierbei immer OBEN angezeigt werden.

kann mir da jemand helfen ?

danke schonmal im voraus !

gruss
buster
Buster
Posts: 50
Joined: Sat 9. Oct 2004, 12:16

Post by Buster »

*push* :lol:

Gibt es hierfür keine Lösung oder hat die niemand parat ?

Danke
Buster
Titschi
Posts: 49
Joined: Fri 29. Oct 2004, 09:29
Location: Ludwigsburg, Germany
Contact:

Post by Titschi »

Also ich zähl mich nicht zu den "Profis", hab aber das Problem und den Ansatz mal aufgegriffen.

Ich hab in dem File front.func.inc.php nicht den "related tag" modifiziert sondern gleich die Funktion "new":

Code: Select all

function get_new_articles($template_default, $max_cnt_links=0, $dbcon) {
	// find all new articles

	$max_cnt_links = intval($max_cnt_links);
	$limit = ($max_cnt_links) ? " LIMIT ".$max_cnt_links : "";
	
	$sql =	"SELECT article_id, article_title, article_cid, UNIX_TIMESTAMP(article_tstamp) AS article_date ".
			"FROM ".DB_PREPEND."phpwcms_article WHERE ".
			"article_public=1 AND article_aktiv=1 AND article_deleted=0 AND ".
			"article_begin < NOW() AND article_end > NOW() ".
			"ORDER BY article_begin DESC".$limit.";";

und dort in der Zeile ORDER BY "article_tstamp" durch "article_begin" ersetzt.

Dann kann man wirklich über das "Startdatum" die Auswahl der {NEW} treffen.

Bei mir reicht diese Änderung aus :)
Buster
Posts: 50
Joined: Sat 9. Oct 2004, 12:16

Post by Buster »

Dankeschön, genau das wollte ich haben ;)

Gruss
Buster
Mehlinger
Posts: 76
Joined: Mon 22. Nov 2004, 14:49
Contact:

Post by Mehlinger »

Earl of Mar wrote:also leute, seid mir nicht böse, aber:

1. das startdatum läßt sich bei meinem backend direkt bearbeiten (ich meine nicht das feld article_created, sondern das feld article_begin - im backend heisst es auch startdatum). das datum kann man ändern, ohne die datenbank zu edieren. das startdatum ist eigentlich vorgesehen, um den artikel erst ab diesem datum anzuzeigen, funktioniert natürlich auch mit zurückdatieren.

2. ich ersetze den sql aufruf in der o.g. function durch

Code: Select all

$sql =	"SELECT article_id, article_title, article_cid, article_subtitle, UNIX_TIMESTAMP(article_begin) ".
				"FROM ".DB_PREPEND."phpwcms_article WHERE ".
				"article_id<>".intval($current_article_id)." AND ".
				"article_public=1 AND article_aktiv=1 AND article_deleted=0 AND ".
				"article_begin < NOW() AND article_end > NOW() AND (".$where.") ".
                                "ORDER BY article_begin DESC".$limit.";"; 
damit wird {related} nach diesem datum sortiert.

3. damit die ausgabe von {related} ähnlich aussieht, wie bei {new}, also mit unserem startdatum füge ich noch eine zeile in die funktion ein:

Code: Select all

if($template_default["link_length"] && strlen($row[1]) > $template_default["link_length"]) {
					$article_title = substr($row[1], 0, $template_default["link_length"]).$template_default["cut_title_add"];
				} else {
					$article_title = $row[1];
				}

                                // diese Zeile einfügen
                                $article_title = international_date_format("DE","d.m.Y",$row[4])." ".$article_title;
                           

				$keyword_links .= $template_default["link_before"].$template_default["link_symbol"];
				$keyword_links .= '<a href="index.php?id='.$row[2].','.$row[0].',0,0,1,0"';
				$keyword_links .= $target.">".html_specialchars($article_title)."</a>";
Damit kann ich jetzt einen alten artikel am 01.11.2004 edieren, sein startdatum auf 01.01.2003 setzen. wenn ich den artikel bearbeite, bleibt er bei {related} weitehin an der alten stelle einsortiert und rutscht nicht wieder nach vorne.

4. was mich hier im forum stört, dass einige pappenheimer auf fragen antworten, obwohl sie a. die fragen nicht verstanden haben und b. keine antwort darauf haben. ist vielleicht gut gemeint, verfehlt aber den zweck.

grüße

Hab das so gemacht und klappt auch wunderbar. Zumindest im Firefox. Im IE und Opera zeigt er auch das Datum und Überschrift an, allerdings nicht als Links. Kann mir jemand helfen?


EDIT: Solved - Was ein fehlendes '>' doch alles ausmachen kann :D
User avatar
zonk
Posts: 173
Joined: Thu 5. Apr 2007, 12:21
Location: Nauheim
Contact:

Genau so..

Post by zonk »

Hi, die Beiträge sind schon ein bischen länger her. Hatte das Selbe Problem und habe das nun auch so gelöst. Eine Frage bleibt jedoch:

Ist es möglich innerhalb eines Artikels (Habe mein eigenes Template für die Ausgabe von Artikeln erstellt) auch den "Article_begin" auszugeben ?

Habe immer die Überschrift im Artikel und wollte dann rechts das dazugehörige Datum ausgeben. Nur muss ich Inhalte von 2005 - 2006 in die neue Seite übernehmen, und die sollen auch das korrekte "ehemalige" Datum tragen.

Vielen Dank schonmal vorab. Das Forum hier ist Klasse. Habe mich erst heute registriert, da sonst alle Fragen schon über die Suche beantwortet wurden. Das zeigt wieviel Input in diesem Forum schon steckt. :D


EDIT 1: Danke fürs zusammenlegen @Mods

EDIT 2: Ich würde auch gerne auf den Teaserseiten und Artikelmenü usw die article_begin Variable nutzen. Kann man nicht das Beginn Datum irgendwie in einem RT packen ?

EDIT 3: So diesen Artikel habe ich auch gelesen, gibts eine "saubere" Methode ? Den Absatz mit nicht ideal weil oft zu aktualisieren habe ich noch nicht verstanden. Brauche das ganze ja auch nur um die zurückliegenden Artikel einzupflegen.

EDIT 4: Mit dem {WAK_ARTICLE_CREATED:LONG} tag, habe das Script runtergladen, bekomme ich wenn ich bei der Datenbank abfrage created durch begin ersetzte, also den begin auslese, immer überall den 1.1.1970 angezeigt. Auch wenn im Artikel ein anderes Datum steht !?!?
User avatar
zonk
Posts: 173
Joined: Thu 5. Apr 2007, 12:21
Location: Nauheim
Contact:

Post by zonk »

*push* keiner eine Idee ?? Hilfe ich verzweifle an dem Problem :cry:
Post Reply