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

Node Datum beim Speichern aktualisieren

Eingetragen von px (77)
am 19.03.2010 - 22:08 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Ok, prinzipiell einfaches Problem: Ich möchte das Erstellungsdatum eines Nodes automatisch auf den Zeitpunkt der letzten Bearbeitung setzen, d.h. Nodes die bearbeitet wurden sollen unter /node automatisch ganz nach vorne geholt werden. Prinzipiell würde sich dafür ja das Rules Modul anbieten. Einen passenden Trigger für mein Problem hat es. Was allerdigns zu fehlen scheint ist eine entsprechende Action. Hat da irgendwer eine Idee?

‹ Geschützter Bereich wird in "Neue Beiträge" gezeigt Bildergalerien grundsätzlich ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Erstellungsdatum

Eingetragen von stBorchert (6003)
am 20.03.2010 - 10:59 Uhr

Hallo.
Es ist nicht zu empfehlen, das Erstellungsdatum nachträglich zu verändern (schliesslich ist es das Datum der Erstellung eines Beitrags, nicht das der letzten Veränderung).
Bau Dir einfach einen View (Views und evtl. auch SimpleViews) mit dem Du eine Liste der Beiträge sortiert nach letztem Änderungsdatum erzeugst.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, Sorry das ist keine

Eingetragen von px (77)
am 20.03.2010 - 14:18 Uhr

Hi,
Sorry das ist keine Lösung für mich. Was ich in meiner Anfrage unterschlagen habe ist, dass ich zusätzlich auf dem "published" flag triggern will, d.h. ich möchte die Möglichkeit haben, Nodes als Entwurf zu speichern ("unpublished") und beim Veröffentlichen dann automatisch ganz an den Anfang der /node Liste zu befördern. Das Ganze natürlich ohne dass der Benutzer die "Administer Nodes" Berechtigung haben muss.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Probier doch mal Rules aus,

Eingetragen von Exterior (2903)
am 21.03.2010 - 01:38 Uhr

Probier doch mal Rules aus, dort kannst du als Aktion wählen, dass ein Beitrag veröffentlicht werden soll und zusätzlich noch die Aktion einfügen, dass der Beitrag in Listen ganz oben erscheinen soll. Ob das das macht, was du willst, weiß ich nicht, aber schau es dir doch mal an.

Ich würde übrigens an deiner Stelle auch nicht am Erstellungsdatum drehen.

Noch eine Idee:
Erstelle dir die View, von der Stefan sprach, welche nach Aktualisierungsdatum sortiert.

Dann kannst du mit Rules einfach "Custom PHP" ausführen und damit das Aktualisierungsdatum auf das momentane Datum setzen. Schon erscheint dein Node in der View ganz oben, wenn er veröffentlicht wird ;-) Damit wäre das Problem doch recht elegant umgangen, oder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Rules habe ich schon in

Eingetragen von px (77)
am 21.03.2010 - 13:01 Uhr

Rules habe ich schon in Erwägung gezogen (siehe Initialpost). Mein Problem ist nur dass es da keine passende Aktion gibt. Ich könnte selbstverständlich mit Custom PHP Code was basteln, aber ich hatte gehofft, dass jemand eine elegantere Idee hat (irgendwas im Stile von: du doof, da gibts doch Modul XYZ als Rules Erweiterung, welches genau das macht).

View die nach Aktualisierungsdateum sortiert ist leider keine Lösung. Bei den Nodes, um die es mir geht handelt es sich um Entwürfe, deren Erstellungsdatum nur einmalig auf das Veröffentlichungsdatum gesetzt werden soll. Nachträgliche edits, die den Node wieder in der View nach vorne holen würden wären eher hinderlich.

PS: Was ist so kritisch daran, am Erstellungsdatum zu drehen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Weil das die Tatsachen

Eingetragen von Exterior (2903)
am 21.03.2010 - 14:09 Uhr

Weil das die Tatsachen verwischen würde. Der Node wird an einem bestimmten Datum erstellt und ab da nur noch aktualisiert. Wenn du das Erstellungsdatum nachträglich änderst, bringst du diese Grundsätze eben durcheinander.

Es würde dir sicherlich nicht die Seite zerschießen, aber es gibt Dinge, die macht man einfach nicht. Man kan auch nachträglich die Node-ID machen, aber sowas macht man eben auch nicht. Es gibt ein paar grundlegende Dinge, vor allem in der Programmierung, welche man beherzigen sollte und dass man das Erstellungsdatum nachträglich nicht ändert gehört nunmal dazu...

Anderer Vorschlag:
Du fügst deinem Inhaltstyp ein Datumsfeld hinzu (Dazu brauchst du das Modul Date). Dieses Feld darf (mittels Content Permission) niemand sehen und auch niemand ausfüllen.
Mittels Rules belegst du dieses Feld mit dem aktuellen Datum, sobald der Node veröffentlicht wird.

Jetzt bastelst du dir noch eine View, welche nach diesem Feld sortiert und fertig.

  • Anmelden oder Registrieren um Kommentare zu schreiben

In dem Fall, um den es mir

Eingetragen von px (77)
am 21.03.2010 - 14:41 Uhr

In dem Fall, um den es mir geht, sind Nodes eigentlich erst wirklich erstellt, wenn sie veröffentlicht werden. Davor sinds einfach nur Entwürfe, die nicht offiziell existieren.

Das man nachträglich die Node-ID setzen kann würde ich so nicht unterschreiben. Die nid Spalte im node Table ist zum Einem autoincrement und zum Anderem Fremdschlüssel in gut einem Dutzend anderer Tabellen. Daran herumbasteln würde mit Sicherheit die Seite schrotten. Für das Erstellungsdatum habe ich soweit noch keine derartige Abhängigkeit gefunden. Was natürlich nicht heisst, dass es sie nicht gibt, aber dann müsste ich mich fragen, warum man mit der "Administer nodes" Berechtigung die Möglichkeit hat, das Erstellungsdatum zu manipulieren.

CCK Date, Views und Rules wäre vielleicht ein gangbarer Weg, aber ich bin ein großer Fan vom KISS Ansatz. Bevor ich mir ein komplexes Setup mit CCK und Views hinzaubere, würde ich eher das Datum direkt mittels PHP code in einer Rules Action setzen. Ich hatte halt nur die Hoffnung, dass es eine etwas elegantere Methode gibt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das mit der Node-ID war nur

Eingetragen von Exterior (2903)
am 21.03.2010 - 18:11 Uhr

Das mit der Node-ID war nur ein Beispiel -,-' Du KANNST die Node-ID ändern. Aber machen sollte man es eben nicht, darum geht es ja.

Und sobald du einen Node speicherst, existiert er auch, so ist das nunmal.

Aber bitte, mach, was du für richtig hältst... Ich an deiner Stelle würde würde den Weg mit der View gehen.

KISS hin oder her, natürlich ist es oft besser, die Dinge kurz und einfach zu gestalten, aber dafür einfach in den Tabellen rum schreiben und solche grundlegenden Dinge wie das Erstellungsdatum zur manipulieren halte ich für falsch. Wenn du einen Node erstellst, dann ist er da, veröffentlicht oder nicht. Und Drupal funktioniert nunmal so, dass man ein Erstellungsdatum und ein Aktualisierungsdatum hat.

Aber wie gesagt: Mach, was du willst, dies ist ein freies Land, aber ich würde die 5 Minuten Mehraufwand in Kauf nehmen und die View basteln. Das wäre einfach die sauberere Lösung...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich würde auch ein

Eingetragen von E-Fee (481)
am 21.03.2010 - 18:32 Uhr

Ich würde auch ein zusätzliches CCK-Feld erstellen und dort bei der Veröffentlichung das aktuelle Datum reinsetzen und den View entsprechend anlegen.

Ist wirklich die sauberste Lösung, so hast du weder beim ursprünglichen Veröffentlichungsdatum ungewollte Seiteneffekte noch das Änderungsdatum.

  • 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 2 Wochen 6 Tagen
  • Hey danke
    vor 2 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 3 Wochen 14 Stunden
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 2 Tagen
  • In der entsprechenden View
    vor 4 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 2 Tagen
  • gelöst
    vor 6 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20462

Neue User:

  • Znogsnernoimb
  • ByteScrapers
  • Mroppoofpaync

» 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 18 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