NEWS {NEW:5}
hallo,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 durchdamit wird {related} nach diesem datum sortiert.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.";";
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: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.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>";
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
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
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":
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
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
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 durchdamit wird {related} nach diesem datum sortiert.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.";";
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: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.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>";
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
Genau so..
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.
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 !?!?
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.
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 !?!?