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 - 08: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 - 08: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 - 09: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 - 10: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 - 10: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 - 12: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 - 12: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

  • Ветошь для протирки оборудования
  • 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?
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250234
Registrierte User: 20455

Neue User:

  • JoMek
  • Znogsnernoimb
  • ByteScrapers

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