Feldinhalte aus listview in ein array schreiben

  • Ich möchte aus aus einer listview ein Feld mit einem Wert auslesen und hieraus eine Summe bilden (Addition).

    Meine Listview sieht so aus:

    <we:listview type="object" classid="3">
    <we:repeat>
    <we:field name="wert">
    </we:repeat>
    </we:listview>

    Ich weiss gerade nicht, wie man die Werte aus dem listview field "wert" in ein Array schreiben kann. In etwa so soll das Ergebnis aussehen:

    <?php
    $summe = array(2, 4, 6, 8);
    echo array_sum($summe) . "\n";

    ?>

    Hat jemand eine Idee?

  • Go to Best Answer
  • also generell schreibt man die Inhate eines Feldes wie folgt in ein Array
    <we:field type="?" name="wert" to="global" nameto="summe[]"/>

    Wenn du Zahlen benutzt sollte nur darauf geachtet werden, dass kein type="text" verwendet wird, da die Inhalte sonst als String in das Array geschrieben werden.
    Müsste aber so auch in der Doku stehen.

  • Hallo Regina,

    Könntest du das nicht auch mit <we:calculate/> lösen?

    Zum Beispiel so:

    Der Code ist nur mal so aus der Doku zusammengereimt. Es gibt dann noch das Attribut sum, da ist mir aber nicht klar wie das funktioniert. Das geht für mich aus der Doku nicht gut hervor.

    Liebe Grüße,
    Sascha

  • Danke, Euch beiden!

    @Sascha: Mit deinem <we:calculate> Script geht es. Hab nur noch decimals="0" ergänzt.

    Hatte das Tag in meiner 9.1.6 Installation in der Tag-Hilfe nicht gefunden und dachte es wäre nach dem Wegfall des Shop-Moduls entfernt worden.

    Schönes Wochenende!

  • rkempf November 17, 2024 at 1:14 PM

    Selected a post as the best answer.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!