Sandra: Zeilenumbruch "\r\n" in Array integrieren

Hallo Forum
in der email, die generiert wird, werden Produkte aufgelistet. Ich hätte gerne, dass diese Produkte schön untereinander aufgelistet werden, weiss aber nicht, wie ich den Befehl dazu \r\n in das array setze.

die folgende Schleife liest alle Produkte in der $order aus. In der Variablen $currencyvalues werden alle Produkte mit den dazugehörigen Kosten und Menge generiert. Danach wird alles der $email_order . zugeschrieben, die dann in der email ausgegeben wird.

for ($i=0; $i<sizeof($order->products); $i++)
{
$orders_products_id = $order->products[$i]['orders_products_id'];

$currencyvalues=currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']);

$currencyvalue = ereg_replace("€", " €", $currencyvalues);

$email_order .= $order->products[$i]['qty'] . " " .$order->products[$i]['name'] . " = " . $currencyvalue."\r\n"; (an dieser Stelle bringt das \r\n nichts, da das array schon gebildet ist

Bitte um Hilfe, vielen Dank
Sandra

  1. hi Sandra,

    $email_order .= $order->products[$i]['qty'] . " " .$order->products[$i]['name'] . " = " . $currencyvalue."\r\n"; (an dieser Stelle bringt das \r\n nichts, da das array schon gebildet ist

    setzte das \r\n in einfache ' dann müsst es gehn

    MfG

    1. Moin!

      $email_order .= $order->products[$i]['qty'] . " " .$order->products[$i]['name'] . " = " . $currencyvalue."\r\n"; (an dieser Stelle bringt das \r\n nichts, da das array schon gebildet ist

      setzte das \r\n in einfache ' dann müsst es gehn

      Nein. Nur in doppelten Anführungszeichen entwickeln die Escape-Sequenzen \r und \n ihre Wirkung, in einfachen Anführungszeichen sind es einfach nur die Zeichen "Backslash" und "r" bzw. "n".

      • Sven Rautenberg
      1. Hi,
        das \r\n muss doch irgendwie in diesen Befehl rein:

        $currencyvalues=currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']);

        nur wie?

        viele Grüße
        Sandra

        1. Moin!

          das \r\n muss doch irgendwie in diesen Befehl rein:

            
          
          > $currencyvalues=currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']);  
          
          

          Finde ich nicht. Der Methodenaufruf sieht mir sehr stark so aus, als würde er eine Währungsformatierung durchführen. In $currencyvalues steht hinterher also eine Zahl mit Währungssymbol, z.B. "19,99€".

          Dein erstes Posting bestärkt diesen Eindruck deutlich.

          nur wie?

          Hier mußt du ansetzen, weil hier ein String zusammengebaut wird aus diversen Angaben:

            
          $email_order .= $order->products[$i]['qty'] . " " .$order->products[$i]['name'] . " = " . $currencyvalue."\r\n";  
          
          

          Hier wird an den bestehenden EMail-Text eine Zeile angehängt, bestehend aus Bestellmente, Leerzeichen, Produktname, Gleichheitszeichen, Gesamtpreis und Leerzeile.

          Wenn hinter deinen einzelnen Bestellzeilen also kein Zeilenumbruch kommt, dann läuft irgendetwas anders, als du es bislang berichtet hast. Überhaupt hast du eigentlich nur sehr wenig berichtet, das meiste muß man sich mit der Glaskugel dazudenken. Du beschwerst dich darüber, dass irgendwo eine Zeilenschaltung rein soll, sagst aber bislang noch nicht, wie das Ergebnis deiner Versuche a) tatsächlich aussieht und b) stattdessen aussehen soll.

          • Sven Rautenberg
          1. Hi,
            plötzlich setzt er alles richtig, seltsam, dass das erst 2 Tage nachdem das Script so steht passiert:

            10 x Blau-, Heidelbeerblätter (Myrtilli folium ) (0026) = 18,00 €
            55 x Beifuß (Artemisiae herba ) (0018) = 66,00 €
            10 x Angelikawurzel (Angelica archangelica ) (0006) = 23,00 €
            20 x Birkenblätter (Betulae folium ) (0024) = 22,00 €
            10 x Augentrostkraut (Euphrasiae herba ) (0013) = 20,00 €

            vielen Dank für Eure Hilfe

            viele Grüße
            Sandra

  2. Moin!

    in der email, die generiert wird, werden Produkte aufgelistet. Ich hätte gerne, dass diese Produkte schön untereinander aufgelistet werden, weiss aber nicht, wie ich den Befehl dazu \r\n in das array setze.

    EMail ist fortlaufender Text, kein Array.

    Insofern ist zu fragen, wieso

    $email_order .= $order->products[$i]['qty'] . " " .$order->products[$i]['name'] . " = " . $currencyvalue."\r\n"; (an dieser Stelle bringt das \r\n nichts, da das array schon gebildet ist

    das hier bei dir nichts bewirkt? Produzierst du vielleicht eine HTML-Mail?

    • Sven Rautenberg