Summe Anzahl Einheiten in html mail

Hallo,

Uns wäre sehr geholfen, wenn wir die Summe der Einheiten einer Bestellung, auf der html email Bestellung andrucken könnten.
Ist sowas machbar ?

SQL würde so zum Beispiel aussehen, wobei die ordernumber direkt in der email als Variable ausgelesen werden soll {$sOrderNumber}

SELECT count(`quantity`) FROM `s_order_details` WHERE `ordernumber`= 508500

Gibt es hier evtl. eine einfache Lösung ?
 

Herzliche Grüße
Stefan

Hallo Stefan,

also wenn es um eine simple Lösung geht, würde ich die math funktion von Smarty nutzen:

//Vor der foreach Schleife eine Variable deklarieren
{assign var="quantitytotal" value=0}
 
{foreach}
...
//Innerhalb der foreach Schleife mit math rechnen
{math assign="quantitytotal" equation="a + b" a=$quantitytotal b=$details.quantity}
{/foreach}

//Nach der foreach Schleife kann die neue Variable genutzt werden 
Artikelanzahl: {$quantitytotal}

Beste Grüße

Magnum

Hallo Magnum,

Vielen Dank für den Vorschlag.

Leider bekomme ich diesen nicht wie gewünscht umgesetzt bekommen.
Ich hätte gerne in diseser e-Mail Vorlage die Gesamt Summe der Einheiten angezeigt.

    Product Designer E-Mail
    
        table {
            border-collapse: collapse;
        }

        table th {
            font-weight: bold;
        }

        table tbody tr.row-0 {
            background-color: #e7f1f4;
        }

        table tbody tr.row-1 {
            background-color: #f9f7e7;
        }

        table th, table td {
            padding: 10px;
            text-align: left;
            border-width: 1px;
            border-style: solid;
            border-color: #e0e0e0;
        }
    


    Bestellung Nr. {$order.ordernumber}

    
        Folgende Product Designs wurden angelegt.
    

    
        
            
                ID
                Anzahl
                Artikel
                Artikel-Nummer
                Konfiguration
                Dateiname
            

        
        
          {foreach $imageData as $image}
                
                    {$image.orderItem.id}
                    {$image.orderItem.quantity}
                    {$image.orderItem.name}
                    {$image.orderItem.articleordernumber}
                    {$image.configuration.name} ({$image.configuration.label})
                    {$image.fileName}
                
            {/foreach}
        
    
    
        Die zugehörigen Bilder wurden der E-Mail angehangen.
    
    
    
    Mit freundlichen Grüßen
    Ihr Team von Laser Tattoo - exklusive Lasergravuren e.K.

Bei dem Satz: “Folgende Product Designs wurden angelegt.” soll der Zusatz dazu “Für insgesamt 'GesamtAnzahlEinheiten” wurden Product Designs angelegt: "

Dann wüsste die Produktion bzw. der Versand wieviele Einheiten es in Summe sind und werden gf. aufmerksam.

Kannst du hier evtl. mir bitte ncoh mal näher helfen.

Vielen Dank
Stefan

Hallo Stefan,

ich habe das mal in deine eMail Vorlage übernommen. Ich habe jetzt nicht getestet ob es funktioniert, da ich etwas zu bequem war ein Array namens $imageData zu erstellen.

Da du Anzeige vor der Artikelübersicht haben möchtest, musste ich eine neue foreach Schleife nur für die Produktmenge voranstellen. Sicherlich könnte man ds auch mit einer funktion lösen, so deucht es mir aber etwas simpler.

    Product Designer E-Mail
    
        table {
            border-collapse: collapse;
        }

        table th {
            font-weight: bold;
        }

        table tbody tr.row-0 {
            background-color: #e7f1f4;
        }

        table tbody tr.row-1 {
            background-color: #f9f7e7;
        }

        table th, table td {
            padding: 10px;
            text-align: left;
            border-width: 1px;
            border-style: solid;
            border-color: #e0e0e0;
        }
    


    Bestellung Nr. {$order.ordernumber}

    
        Folgende Product Designs wurden angelegt.
    
           {assign var="quantitytotal" value=0}
           {foreach $imageData as $image}
                {math assign="quantitytotal" equation="a + b" a=$quantitytotal b=$image.orderItem.quantity}
           {/foreach}
    
        Für insgesamt {$quantitytotal} wurden Product Designs angelegt:
    
    
    
    
        
                
                    ID
                    Anzahl
                    Artikel
                    Artikel-Nummer
                    Konfiguration
                    Dateiname
                

        
        
          {foreach $imageData as $image}
                
                    {$image.orderItem.id}
                    {$image.orderItem.quantity}
                    {$image.orderItem.name}
                    {$image.orderItem.articleordernumber}
                    {$image.configuration.name} ({$image.configuration.label})
                    {$image.fileName}
                
           {/foreach}
        
    
   
    
        Die zugehörigen Bilder wurden der E-Mail angehangen.
    
    
    
    Mit freundlichen Grüßen
    Ihr Team von Laser Tattoo - exklusive Lasergravuren e.K.

Teste es mal bitte.

Beste Grüße

Magnum

1 Like

EDIT:
Sorry mein Fehler, eine position war ohne Design.
Funktioniert super !
Vielen Dank. (y)

Hallo Magnum,

Vielen Dank fürs Überarbeiten.
Leider werden nun anscheinend nur die Anzahl Positionen gezählt, nicht die Summe der Einheiten.

Bestellung mit 2 Positionen.
Pos 1: 1 Stk.
Pos 2: 2 Stk.
Angedruckt wird “Für insgesamt 2 Einheiten wurden Product Designs angelegt”

Wenn ich das aber richtig verstanden habe, wird doch in deiner Formel die Quantity, also Einheiten gezählt ?!

Gruß
Stefan

Hab das Ganze auch noch mal für die Bestellbestätigung angepasst, falls es jemand interessiert:

{assign var="quantitytotal" value=0}
          {foreach item=details key=position from=$sOrderDetails}
          {math assign="quantitytotal" equation="a + b" a=$quantitytotal b=$details.quantity}
          {/foreach}
    Übersicht Ihrer Bestellung
mit insgesamt {$quantitytotal} Einheiten:

Vielen Dank nochmal @Magnum‍