Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Refresh für alle Datensätze

Eingetragen von Renardo (60)
am 09.10.2009 - 09:27 Uhr in
  • Views
  • Drupal 6.x

Hallo,
ich habe mit Drupal eine Datenbankfrontend gebaut, das mit einem eigenen Inhaltstyp für jede Person bei der Eingabe des Geburtsdatums das entsprechende heutige Alter berechnet. Hierfür war mir das Modul Computed Fields sehr hilfreich, denn ich brauchte nur noch den gültigen php-Code für das Feld zur Berechnung des Alters eintragen.

if (!$node->nid) node_save($node);
  $dob = $node->field_geboren_am[0]['value'];
        $now = time();
        $then = strtotime($dob);

        $diff = date('Y', $now) - date('Y', $then);

        if($diff < 0)      /* ideally you want to prevent this from happening */
           echo '??? - negative age.';

        if(($diff > 0) && (date('z',$now) < date('z',$then)))
           $diff --;
$node_field[0]['value'] = $diff;

Leider erneuert sich die Berechnung des Alters nicht, wenn die Erstellung des Datensatzes einen Tag oder länger zurückliegt. Erst, wenn ich den angelegten Datensatz erneut speichere, wird das Alter richtig und neu berechnet. Dies ist aber bei einigen Tausend Daten nicht praktikabel.
Wie kann ich also erreichen, dass automatisch oder per auszulösender Aktion alle Datensätze in einem Rutsch neu gespeichert werden?

Renardo

‹ Tabelle mit mehreren CCK-Feldern aus einer Node abbilden Node Reference ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Alter

Eingetragen von stBorchert (6003)
am 09.10.2009 - 09:55 Uhr

Moin.
Das Alter einer Person ist ein dynamischer Wert, der für gewöhnlich nicht gespeichert wird.
Warum berechnest Du das Alter nicht einfach bei der Anzeige des Inhalts? Dann benötigst Du auch computed_field nicht und der Wert ist immer korrekt.
computed_fieldist nämlich dafür gedacht, zu speichernde Werte aufgrund diverser anderer Daten zu berechnen, nicht um berechnete Werte anzuzeigen.

hth,

 Stefan

--
sei nett zu Deinem Themer

Wir brauchen Deine Stimme für die DrupalCon 2010 oder 2011 in Berlin!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dynamische Altersberechnung

Eingetragen von Renardo (60)
am 09.10.2009 - 10:53 Uhr
Zitat:

Warum berechnest Du das Alter nicht einfach bei der Anzeige des Inhalts?

Klingt logisch, jedoch weiß ich nicht, wohin ich genau welchen Code schreiben müsste. Hier im Forum fand ich zu dieser Frage leider nicht viel.
Ich habe einen Inhaltstyp Person und das Feld geboren. Wie könnte ich konkret vorgehen, um das Alter dynamisch zum aktuellen Tag zu berechnen.

Renardo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alter berechnen

Eingetragen von stBorchert (6003)
am 09.10.2009 - 11:02 Uhr
Renardo schrieb

Ich habe einen Inhaltstyp Person und das Feld geboren. Wie könnte ich konkret vorgehen, um das Alter dynamisch zum aktuellen Tag zu berechnen.

Du kannst Dir für jeden Inhaltstypen ein eigenes Template erstellen (siehe dazu auch Core templates and suggestions).
In Deinem Fall wäre dies also eine Datei namens node-person.tpl.php (auf Basis der node.tpl.php).
Dort fügst Du dann an der gewünschten Stelle den Code zur Berechnung des Alters ein und gibts ihn auch gleich aus:

<?php
$dob
= $node->field_geboren_am[0]['value'];
$now = time();
$then = strtotime($dob);
$diff = date('Y', $now) - date('Y', $then);
if (
$diff < 0) {
 
/* ideally you want to prevent this from happening */
 
print '??? - negative age.';
}
if ((
$diff > 0) && (date('z',$now) < date('z',$then))) {
 
$diff --;
}
print
$diff;
?>

hth,

 Stefan

--
sei nett zu Deinem Themer

Wir brauchen Deine Stimme für die DrupalCon 2010 oder 2011 in Berlin!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dynamische Altersberechnung

Eingetragen von Renardo (60)
am 09.10.2009 - 11:40 Uhr

Danke Sefan,

das wird mir bestimmt weiterhelfen. Letztlich bliebe dann nur noch die Frage offen, ob ich es bei einem View auch themen muss oder hier noch anderer Weg möglich ist?

PS:
Was hältst Du eigentlich von der Idee, Drupal als Datenbankfrontend einzusetzen? Ich hatte lange gezögert und komme nun doch zügig voran.

Renardo

-------
Wer Recht hat, lebt gefährlich...

  • Anmelden oder Registrieren um Kommentare zu schreiben

custom field

Eingetragen von stBorchert (6003)
am 09.10.2009 - 13:20 Uhr
Renardo schrieb

das wird mir bestimmt weiterhelfen. Letztlich bliebe dann nur noch die Frage offen, ob ich es bei einem View auch themen muss oder hier noch anderer Weg möglich ist?

Views custom field.
Das gibt Dir alles aus, was Du haben möchtest (naja, fast alles).

Renardo schrieb

Was hältst Du eigentlich von der Idee, Drupal als Datenbankfrontend einzusetzen? Ich hatte lange gezögert und komme nun doch zügig voran.

Ich versteh den Zusammenhang nicht wirklich. Drupal *ist* im erweiterten Sinne ein Frontend für in Datenbanken abgelegte Daten.
Wenn Du das im Sinne von "Verwaltung bestimmter Adressdaten" meinst (Beispiel), dann ist dies nur ein spezieller Anwendungsfall von Drupal. Also eigentlich nichts Ungewöhnliches.

 Stefan

--
sei nett zu Deinem Themer

Wir brauchen Deine Stimme für die DrupalCon 2010 oder 2011 in Berlin!

  • Anmelden oder Registrieren um Kommentare zu schreiben

format_interval

Eingetragen von md (3717)
am 09.10.2009 - 13:55 Uhr

Um eine vergangene Zeitperiode auszugeben, gibt es übrigens die Funktion: http://api.drupal.org/api/function/format_interval/6

vg
--
md - DrupalCenter.de

mdwp*

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
Weiter

Neue Kommentare

  • Hab ich installiert find ich
    vor 2 Tagen 6 Stunden
  • Gefunden
    vor 9 Wochen 3 Tagen
  • Vielen Dank für die ausführlichen Hinweise...
    vor 10 Wochen 2 Stunden
  • Mögliche Ursachen und nächste Schritte
    vor 10 Wochen 7 Stunden
  • Was für einen Server benutzt
    vor 12 Wochen 3 Tagen
  • Wenn die Subdomain auf
    vor 12 Wochen 5 Tagen
  • ordnerstruktur
    vor 12 Wochen 5 Tagen
  • Die Subdomain muß auf den
    vor 13 Wochen 1 Tag
  • Verwende doch das Tag dafür,
    vor 16 Wochen 2 Tagen
  • Guckst du hier: step by step
    vor 16 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250297
Registrierte User: 20550

Neue User:

  • Roberttop
  • levmyshkin
  • MoziDooff

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 6 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