Smarty - Variable aufaddieren in foreach Schleife

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Smarty - Variable aufaddieren in foreach Schleife

    Mahlzeit!!

    Ich bin mir nicht ganz sicher, ob Fragen zu Smarty mit in dieses Forum gehören. Bitte um Verzeihung, falls dem nicht so ist.

    Zu meiner Frage:

    Ich lasse mir Datensätze aus einer Mysql DB ausgeben:

    Code:
    {foreach from=$vorgaenge item=value key=key}
        {$value.rechnungsnummer}
    {/foreach}
    Nun möchte ich die String Länge von {$value.rechnungsnummer}.
    Das wäre dann:
    {strlen($value.rechnungsnummer)}

    Soweit, so gut.
    Jetzt möchte ich jedoch die String Länge aller Rechnungsnummern, welche in der foreach-schleife erzeugt werden, zusammen addieren.

    Gibt es eine Möglichkeit das im Template zu realisieren?

    Grund, warum ich das Ganze Frage ist:
    Die erzeugten Rechnungsnummern bilden gleichzeitig einen Verwendungszweck für eine Überweisung ab. Die Felder für den Verwendungszweck sind jedoch auf 27 Zeichen Begrenzt, deshalb will ich zB. wenn die Länge 27 Überschreitet ein Zeilenumbruch einbauen.

    Ich hoffe es war verständlich beschrieben.

    MfG Mathias

  • #2
    Ich nutze Smarty selber nicht und bin auch generell der Meinung, dass solche Aufgaben nicht mehr in die View gehören, aber...

    könnte möglich sein:
    Variables | Smarty

    Kommentar


    • #3
      Zitat von TobiaZ Beitrag anzeigen
      Ich nutze Smarty selber nicht und bin auch generell der Meinung, dass solche Aufgaben nicht mehr in die View gehören, aber...
      Hey TobiaZ,
      Das ist mir bewusst und ich weis das man das normalerweise nicht macht. Das ist jedoch ein Ausnahmefall und die Anwendung des Tools ist auch nur "intern" und gelangt nicht an die Öffentlichkeit

      habe es schon mit {php} {/php} im Template versucht jedoch wollen die Variablen nicht so wie ich das gewohnt bin.

      Falls jemandem noch etwas einfällt: Ich bin für Vorschläge offen!

      Grüße

      Kommentar


      • #4
        Also eine Lösung könnte über die assign Funktion von Smarty funktionieren:
        Code:
        {assign var='meineVariable' value=0}
        {foreach from=$vorgaenge item=value key=key}
            {$value.rechnungsnummer}
            {assign var='meineVariable' value=$meineVariable + 1}
        {/foreach}
        Ist allerdings ungetestet.

        Praktischer wäre es allerdings den String aus den Stringlängen schon bereits vor der Ausgabe zu ermitteln und dann per $smarty->assign() dem Template zuzuweisen. Letztendlich ermittelst Du Dein Array $vorgaenge ja auch schon vorher irgendwo. Was spricht also dagegen das ermittelte Array im PHP Code zu durchlaufen und den Verwendungszweck dort zu ermitteln?
        MM Newmedia | MeinBlog

        Kommentar

        Lädt...
        X