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

[gelöst] Feld-Werte berechnen und mit View anzeigen

Eingetragen von fala (7)
am 27.02.2010 - 16:20 Uhr in
  • Views
  • Drupal 6.x

Hallo Leute,
ich bin leider kein php-Programmierer und scheitere deshalb genau an dieser Stelle. Zunächst, was ich überhaupt will:

  • ich will ein Block (mit View) erstellen der ein "Endergebnis" anzeigt.
  • Endergebnis ist die Summe aller Ereigniswerte, die in den Nodes des Typs "Ereignis" stehen
    endergebnis = ereigniswert1 + ereigniswert2 + ...

Im meinem (neuen) Inhaltstyp "Ereignisse" (schauen genauso aus wie die Standardartikel, bis auf einn zusätzliches Feld namens "Ereigniswert", die mit einer Ganzzahl gefüllt werden, z.b. Ereigniswert=20

Ein Beispiel nochmal, dass es nicht verwirrt:

node/3 ist ein Ereigniss mit dem Ereigniswert = 20
node/4 ist ein Ereigniss mit dem Ereigniswert = -30

Jetzt sollte auf der Homepage ein Block zu sehen sein, der nur "Gesamtergebnis = xx" enthält (in dem oben genannten Beispiel als Gesamtergebnis = -10)

Was ich tat:
Ich verwende das Modul "CCK Computed Field" um eine berechnete Variable zu erstellen: "Endergebnis"
(geholfen hat mir diese kurze Anleitung zunächst: http://www.drupalcenter.de/handbuch/12418 Werte eines Node mit Werten von einem anderen Node berechnen):

Zitat:

Mit Computed Fields lassen sich auch Zahlenwerte verschiedener Nodes miteinander berechnen. Z. B. gibt es einen Nodetyp "loehne" in dem die Stundenlöhne verschiedener Mitarbeiter wie Lehrling, Geselle und Meister jeweils als Felder "lohn_lehrling" lohn_geselle" und "lohn_meister" gespeichert sind.

Jetzt kann man einen separaten Node machen, in dem die Lohnsummen berechnet werden. Dazu ist es zuerst mal erforderlich, ein "Node Reference"-Feld anzulegen, das auf den Node "loehne" verweist, guckst Du: http://www.drupalcenter.de/handbuch/5016

Als Node-Typen, zu denen verwiesen werden kann, wählt man natürlich "loehne" aus. Dann kann man mittels folgendem Code z. B. auf das Feld "lohn_meister" zugreifen und den Wert in die Berechnung einbeziehen:

$node_field[0]['value'] = db_result(db_query("SELECT field_lohn_meister_value FROM content_type_loehne WHERE nid=%d",$node->field_node_reference[0][nid])) * $node->field_stundenzahl[0]['value'] ;

Das Feld "$node->field_stundenzahl[0]['value']" ist natürlich in dem Node, in dem auch das Computed Field eingesetzt wird.
Das Feld $node->field_node_reference[0] steht für das Feld Node Reference, also Name halt entsprechend ändern.

Ich habe jetzt die im Beispiel genannten Typen usw. dementsprechend umbenannt, aber ich erhalte die Fehlermeldung:

user warning: Tabelle 'usr_webxxx_1.content_type_ereignisse' existiert nicht query: SELECT field_ereigniswert FROM content_type_ereignisse WHERE nid=33 in /var/www/webxxx/html/sites/all/modules/computed_field/computed_field.module(161) : eval()'d code on line 1.

Deshalb zwei Fragen:
1. Ob mir jemand erklären kann, was man für ein phpCode verwenden sollte, die mein obiges Beispiel realisiert bzw. erklärt, was das im Handbuch aufgeführte Code da eigentlich anstellt ;) ?
2. Ob es nicht eine viel einfache Methode gibt, Werte aus mehreren Nodes zusammenzurechnen und sie dann über ein Computed Field auslesen kann? (ich konnte per Modul View eine Liste mit allen Ereignisnodes und ihren Werten auslesen lassen. Jetzt fehlt quasi nur noch die Summe.)

Ich hoffe man kann mir weiterhelfen,

Fala

‹ Brauche gerade die Views [gelöst] D7: Views-Relation Custom Entity > Custom DB-Tabelle, doppelte Records wg. Sprachunterschiedung, autom. Filter Sprache ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hab eine Lösung mit

Eingetragen von fala (7)
am 01.03.2010 - 11:08 Uhr

Hab eine Lösung mit db_result(db_query("SELECT SUM(field_ereigniswert_value) FROM `dpxxx_content_type_ereignis`")); gefunden und es werden jetzt erfolgreich die werte addiert, aber...

dies geschieht nur, wenn ich ein weiteren inhaltstyp "ereignis" schreibe, weil die variable gesamtwert mit CCK für genau diesen inhaltstypen definiert wurde. problem:

während
node4 mit ereigniswert 30 und
node5 mit ereigniswert 20 erst mit
node6 addiert wird (also =50), aber node6 enthält dann aber wieder ein ereigniswert 10 z.b. bleibt der gesamtwert weiterhin (=50) erst
nach dem erstellen eines weiteren node wird die 10 dazu addiert usw.

wie kann ich ein block erstellen, der allein durch den aufruf des blocks (der nur den gesamtwert anzeigt) den obengenannten phpcode ausführt, und nicht erst nachdem ich einen weiteren ereignistypen erstelle?

edit: habs dann doch irgendwie hinbekommen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schön wäre zu wissen wie du

Eingetragen von fraweg (230)
am 27.01.2012 - 15:30 Uhr

Schön wäre zu wissen wie du es hinbekommen hast...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 3 Tagen 16 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 10 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 1 Tag
  • melde mich mal wieder, da ich
    vor 9 Wochen 5 Tagen
  • Hey danke
    vor 9 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 1 Tag
  • In der entsprechenden View
    vor 11 Wochen 1 Tag

Statistik

Beiträge im Forum: 250237
Registrierte User: 20466

Neue User:

  • StevenEness
  • ocvk2810
  • marouane.blel

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