Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Datum

Eingetragen von holger@drupal.org (544)
am 01.07.2005 - 08:17 Uhr in
  • Allgemeines zu Drupal

Hallo allerseits,

wie kann ich realisieren, das unter dem Titel eines Blog-Beitrages oder Artikels das Datum angezeigt wann der Artikel eingetragen wurde? Ich möchte nicht das der Name da mit steht wie es bei $submitted ist sondern wirklich nur das Datum.

Eine weitere Frage dazu:

Wie kann ich einstellen, das die Ausgabe des RSS Newsfeeds chronologisch nach Datum des Eintragsdatums angezeigt wird?
Momentan ist es so, das zwar ein beitrag den ich nachträglich zB. aus einem Archiv mit älterem Datum versehe auf der Webseite beispielsweise an letzter Stelle (wenn das Datum zB 1996-10-12 ist) angezeigt wird, aber der Newsfeed setzt dies nicht um und zeigt auch einen älter datierten beitrag an erster Stelle.

mfg holger

http://www.ebec.net ...
http://www.stnetwork.de ...

‹ Fehler in Drupal durch Lokalisierung? Banner Ads in Beiträgen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Holger,

Eingetragen von bv (3924)
am 01.07.2005 - 08:30 Uhr

Hallo Holger,

nutzt du phpTemplate? Dann kopiere folgendes in deine template.php Datei (Quick & Dirty).

<?php
function phptemplate_node($node, $main = 0, $page = 0) {
  global
$node_cache;
 
$node_cache[] = $node;

  if (
module_exist('taxonomy')) {
   
$taxonomy = taxonomy_link('taxonomy terms', $node);
  }
  else {
   
$taxonomy = array();
  }

 
$vars = array(
     
'title'          => check_plain($node->title),
     
'node_url'       => url('node/' . $node->nid),
     
'terms'          => theme('links',$taxonomy),
     
'name'           => format_name($node),
     
'date'           => format_date($node->created),
     
'sticky'         => $node->sticky,
     
'picture'        => theme_get_setting('toggle_node_user_picture') ? theme('user_picture', $node) : '',
     
'content'        => ($main && $node->teaser) ? $node->teaser : $node->body,
     
'links'          => $node->links ? theme('links', $node->links) : '',
     
'mission'        => $mission,
     
'page'           => $page,
     
'taxonomy'       => $taxonomy,


     
'node'           => $node,
     
'main'           => $main,
     
'page'           => $page
   
);


  if (
theme_get_setting('toggle_node_info_' . $node->type)) {
   
$vars['submitted'] =  t('%b.', array('%a' => format_name($node), '%b' => format_date($node->created)));
  }

  return
_phptemplate_callback('node', $vars, 'node-' . $node->type);
}
?>

Dann sollte ausschließlich das Datum angezeigt werden.

LG
Björn

[EDIT:] Du mußt es in die "class Template" kopieren, d.h. am besten vor das schließende "}".

  • Anmelden oder Registrieren um Kommentare zu schreiben

Man bist du schnell *g ich

Eingetragen von holger@drupal.org (544)
am 01.07.2005 - 08:36 Uhr

Man bist du schnell *g

ich teste es nachher, danke.
Zum Thema Newsfeed habe ich auch mal im internationalen Forum gepostet: http://drupal.org/node/26156

mfg holger

http://www.ebec.net ...
http://www.stnetwork.de ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

noch eine Möglichkeit

Eingetragen von micha_1977 (nicht überprüft) (0)
am 01.07.2005 - 09:03 Uhr

weitere Möglichkeit wäre das direkt in der node.tpl.php zu machen

z.B. so hier

<?php if ($submitted) { ?>
<p class="nodemeta">
posted <?php print format_date($node->created, 'custom','d\.m\.Y'); ?>
</p>

...die Darstellung von $submitted müßte dann natürlich rausgenommen werden

wobei ich hier noch zusätzlich das Datum konvertiere
($node->created liegt in roher Unix-Datumsform vor)

stattdessen ginge auch die Nutzung von $date darin ist ein formatiertes Datum abgelegt, formatiert entsprechend der Drupal "medium" Einstellung

[edit]
das mit dem Newsfeed dürfte direkt im Modul zu ändern sein, ich nehm an das das Modul direkt auf die "last updated" Nodes geht....was so gesehen erstmal ok wäre

ok ich schau grad entsprechend nach, bisher schauts so aus, als würde grds. das "created" Datum in der Sortierreihenfolge maßgeblich sein, das könnte bedeuten, dass beim Ändern eines Datums eines nodes nicht das "created" sondern ein anderes geändert wird....auf ins php Getümmel

  • Anmelden oder Registrieren um Kommentare zu schreiben

siehe function node_save in

Eingetragen von micha_1977 (nicht überprüft) (0)
am 01.07.2005 - 09:43 Uhr

siehe function node_save in imodules/node.module

.....
    // Update an existing node.

    // Set some required fields:
    $node->changed = time();

    // Prepare the query:
    foreach ($node as $key => $value) {
      if (in_array($key, $fields)) {
        $q[] = db_escape_string($key) ." = '%s'";
        $v[] = $value;
      }
    }

"created" wird also nicht verändert, die standard node_feed Function
sortiert aber danach

  if (!$nodes) {
    $nodes = db_query_range(db_rewrite_sql('SELECT n.nid FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.created DESC'), 0, 15);
  }

ich bin mir da nicht so sicher, aber ich könnt mir denken, dass die RSS Spec. eine Änderung des Datums nicht als Content-Änderung sieht und deshalb der Feed nicht angepasst werden müßte

mal schauen was die drupals dazu sagen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und? Gibt´s zur Feed

Eingetragen von bv (3924)
am 01.07.2005 - 18:08 Uhr

Und? Gibt´s zur Feed Sortierung schon eine Lösung?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bisher nichts neues, ausser

Eingetragen von holger@drupal.org (544)
am 01.07.2005 - 18:38 Uhr

Bisher nichts neues, ausser das micha das hier schon geschriebene hinzufügte. Mich wundert etwas, dass darüber noch nie wer gestolptert ist...
Wenn ich eine Lösung hab sag ich bescheid, vielleicht finde ich am WE auch selbst eine.

mfg holger

http://www.ebec.net ...
http://www.stnetwork.de ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab´s noch nicht ganz

Eingetragen von bv (3924)
am 01.07.2005 - 19:04 Uhr

Ich hab´s noch nicht ganz verstanden...

Wenn ich in einem Node eine Änderung durchführe, wird das "created" Datum nicht verändert, sondern nur das "changed" Datum bzw die Spalte in der Tabelle "nodes". Verändere ich aber das Datum des Nodes, wird das "created"-Feld verändert... Eigentlich müßte es dann doch funktionieren bzw. richtig sortiert werden... ???

Ich schau auch nochmal in den Quellcode, evtl. komme ich ja noch drauf... ;-)

LG
Björn

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich erklär es nochmal

Eingetragen von holger@drupal.org (544)
am 02.07.2005 - 03:01 Uhr

Ich erklär es nochmal kurz:

Also ich erstelle jetzt einen Artikel. Dieser muss aber zurückdatiert werden auf den 11.11.2003 damit die Anzeige im Archiv zeitlich korrekt ist.

Dieser Artikel wird nun auf der Homepage genau so, wie es sein soll, chronologisch an derrichtigen Stelle platziert. Also sagen wir mal eben nicht an erster Stelle der Hauptseite, sondern zB auf node?from=58

Bis dahin klappt alles und der Artikel wurde richtig archiviert, ist auch im Archiv-Kalender zeitlich korrekt dargestellt.

Nun der Haken:
Eine an meinem RSS-Newsfeed interessierte fremde Seite stellt meine RSS-News dar, zB im Newsfeed-Generator. Normalerweise wäre es logisch, dass dort nun immer der zeitlich aktuellste Beitrag auch an erster Stelle steht - dem ist aber NICHT so, es wird generell der zuletzt geschriebene Artikel unabhängig vom Datum als erster angezeigt.
Logisch wäre aber, das ein Artikel den ich im Jahr 2005 auf den 11.11.2003 zurück datiere auch hinten an gestellt wird, weil er ja eben nicht der aktuellste ist.

Und darum geht es bei meiner Frage :-)

http://www.ebec.net ...
http://www.stnetwork.de ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das mit dem Datum habe ich

Eingetragen von holger@drupal.org (544)
am 02.07.2005 - 08:11 Uhr

Das mit dem Datum habe ich jetzt folgendermaßen in der node.tpl.php gelöst:

<?php
print format_date($node->created, 'custom','d.m.Y');
?>

funktioniert prima ;-)

danke für eure tipps!

http://www.ebec.net ...
http://www.stnetwork.de ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erläuterung

Eingetragen von micha_1977 (nicht überprüft) (0)
am 04.07.2005 - 06:34 Uhr

1. Erstellen eines Nodes -> "created" Datum wird erzeugt
2. beliebiges Ändern eines Nodes -> "changed" wird erzeugt bzw. überschrieben
3. feed "engine" sortiert nach "created"

mal davon abgesehen, das man theoretisch immer mit Revision arbeiten sollte, scheints nötig den Sourcode der Feed-Erzeugung anzupassen

<?php
 
if (!$nodes) {
   
$nodes = db_query_range(db_rewrite_sql('SELECT n.nid FROM {node} n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.changed, n.created DESC'), 0, 15);
  }
?>

allerdings sollte man das ausgiebig testen, ich kann aus dem Stehgreif nicht sagen, wie MySQL die Ergebnisse sortiert, wenn eine große Menge Nodes für "changed" den Defaultwert
changed int(11) NOT NULL default '0', hat

...für DB2 wüßt ichs ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry wenn ich so

Eingetragen von holger@drupal.org (544)
am 04.07.2005 - 09:43 Uhr

Sorry wenn ich so frage...aber wo genau muss das rein? Also welche php und wo dort?

mfg holger

http://www.ebec.net ...
http://www.stnetwork.de ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Code muß in die Datei

Eingetragen von bv (3924)
am 04.07.2005 - 09:53 Uhr

Der Code muß in die Datei node.module.

Ich habe es aber immer noch nicht verstanden (wahrscheinlich stehe ich total auf dem Schlauch...): Du kannst doch den Feed anhand des "created"-Datums sortieren, reicht das nicht aus?

LG
Björn

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst doch den Feed

Eingetragen von holger@drupal.org (544)
am 04.07.2005 - 11:20 Uhr
Du kannst doch den Feed anhand des “created”-Datums sortieren

Wo ???

mfg holger :-)

http://www.ebec.net ...
http://www.stnetwork.de ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

nach “created” ist von

Eingetragen von micha_1977 (nicht überprüft) (0)
am 04.07.2005 - 12:04 Uhr

nach "created" ist von vorneherein sortiert, ändert Holger nur das "authored on" Datum eines Nodes, wird auf Datenbankebene das "created" Datum nicht verändert, sondern das "changed" gesetzt bzw. geändert

in der späteren Feed-Sortierung wird dann diese Datumsänderung nicht gewertet, da weiterhin "created" auschlaggebend ist

--> Drupal bzw. das node.module setzen das "created" Datum exakt einmal, nämlich beim erstmaligen Erstellen, später wird nur noch das "changed" Datum geändert, gilt auch für Admin
warum das so ist...kA, ich persönlich würde für Leute die entsprechende Rechte haben( Admin) die Änderung des "created" Datums durchaus zulassen

ergo... Modul suchen, mit dem man direkt die FEED-Einträge zuweisen kann (wäre wirklich mal ne gute Sache, oder den Sourcecode ändern

alternativ kannst du einfach bei allen Nodes denen du z.B. den Term "Archiv" zugewiesen hast, per Update jeweils das "created" Datum verändern (1 Monat weniger?)

  • Anmelden oder Registrieren um Kommentare zu schreiben

In den Core-Dateien werde

Eingetragen von holger@drupal.org (544)
am 04.07.2005 - 14:13 Uhr

In den Core-Dateien werde ich lieber nichts ändern.
Das Datum wird zumindest jetzt so angezeigt wie ich es für sinvoll halte und das mit den feeds überlasse ich doch lieber den core-entwicklern die sich damit auch auskennen :-)

danke euch!

mfg holger

http://www.ebec.net ...
http://www.stnetwork.de ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

@micha Das ganze habe ich

Eingetragen von bv (3924)
am 04.07.2005 - 15:32 Uhr

@micha

Das ganze habe ich schon verstanden, aber Holger hatte in seinem ersten Posting folgende Frage gestellt:

>Wie kann ich einstellen, das die Ausgabe des RSS Newsfeeds chronologisch nach Datum des Eintragsdatums angezeigt wird?

Und genauso funktioniert´s doch, das hat mich ein wenig irritiert...

LG
Björn

  • Anmelden oder Registrieren um Kommentare zu schreiben

das hatte ich dann

Eingetragen von micha_1977 (nicht überprüft) (0)
am 04.07.2005 - 16:17 Uhr

das hatte ich dann geflissentlich überlesen und mich nur auf seinen Beispielfall bezogen

ein Zeichen dafür, dass wir mal professionellen Drupal 24h Support aufmachen sollten, so nebenbei und in der Mittagspause geht für mich zuviel unter *sorry*

@Holger : wie hast du es nun für dich gelöst ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe am Newsfeed erstmal

Eingetragen von holger@drupal.org (544)
am 04.07.2005 - 17:13 Uhr

Ich habe am Newsfeed erstmal nichts geändert aber teste da noch lokal etwas.
Björn es ist nicht ganz so mit der Anzeige...Teste es doch mal selbst---schreib einen neuen Artikel und datiere den auf den 1.1.2004 - dann wird der auf der Seite hier hinten angestellt weil er ja quasi der erste dann wäre was auch richtig ist vom datum gesehen...aber ... wenn jemand deinen Newsfeed aboniert, dann erscheint der Artikel obwohl er ja 2004 datiert ist trotzdem als neuer artikel und das ist irgendwo unlogisch und vor alem bei Seiten die ältere beiträge migrieren nicht vorteilhaft...natürlich bricht einem das niun nicht gleich das genick aber es ist eben irgendwo nicht so toll ;-)
Wenn ich was dazu noch entdecke meld ich mich nochmal.

mfg holger

http://www.ebec.net ...
http://www.stnetwork.de ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 23 Stunden
  • Hey danke
    vor 1 Woche 1 Tag
  • Update: jetzt gibt's ein
    vor 1 Woche 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 1 Woche 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 1 Stunde
  • Kannst doch auch alles direkt
    vor 2 Wochen 4 Tagen
  • In der entsprechenden View
    vor 2 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 4 Tagen
  • gelöst
    vor 5 Wochen 20 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 10 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association