[Gelöst] Könnten Texte in Statusmail sORDERSTATEMAIL1 abhängig von der Zahlart ausgegeben werden?

Hallo,

ich frage mich, ob oder ggf. mit welchem Aufwand es möglich ist, die o.g. Statusmail so zu konfigurieren, dass ein Textblock abhängig von der gewählten Zahlart ausgegeben wird.

Also quasi: Ist Zahlart = Vorkasse, dann Text1; Ist Zahlart = Kreditkarte, dann Text2 usw.

Der wesentliche Punkt wird vermutlich sein, ob die erforderlichen Variablen zur Verfügung stehen.

Hat sowas schonmal jemand umgesetzt?

LG

 

Du kannst dir in der Vorlage die Beispielvariablen ja mal anschauen. Dort gibt es zum Beispiel: {$sOrder.paymentID}

Nummer 5 wäre zum Beispiel Vorkasse (siehe Datenbank Tabelle s_core_paymentmeans)

Nun ja der Rest ist doch einfache Abfrage.

 

{if $Order._payment.description == Vorkasse}
    {s name=“DocumentIndexPaymentVorkasse”}{/s}

    {elseif $Order._payment.description == MoneyXferAcceptedInCheckout}
    {s name=“DocumentIndexPaymentVorkasse”}{/s}
    {elseif $Order._payment.description == ebay}
    {s name=“DocumentIndexPaymentVorkasse”}{/s}
    {elseif $Order._payment.description == PayPal}
    {s name=“DocumentIndexPaymentPayPal”}{/s}    
    {/if}

Danke, hab mir das auch fast nicht anders vorstellen können. Also für jemand, der „die Abfragen“ beherrscht, ist alles notwendige vorhanden… Dann schauen wir mal :slight_smile:

@Tanny‍ Danke auch dir. Die Beiträge haben sich überschnitten.

Bei deiner Variante müsste ich die Textblöcke als Textbaustein anlegen? Ich werde das mal testen.

Fließtext in der Email selbst, würde mir ausreichen…

lg

Nachtrag:

Ich nehme an, dass da nicht 3x DocumentIndexPaymentVorkasse steht, sondern jeweils der Zahlartnahme?

{if $Order._payment.description == Vorkasse}

Also diesen Weg würde ich eigentlich nicht gehen wollen und ist eher unsauber. Sollte irgendwann mal sich die Bezeichnung ändern, dann geht die Anfrage nicht mehr. Für Abfragen ist eigentlich die paymentID gedacht. Es steht doch alles schon da, warum wird das nicht benutzt?

Ich werde am Wochenende durchtesten, ob ich das hinbekomme. Melde mich dann mit dem Ergebnis. Eine ID ist mir prinzipiell auch sympathischer - weniger Potenzial für Schreibfehler und die Bezeichnung musste ich gestern tatsächlich ändern. Da ist die Entscheidung schon gefallen.

Mit diesem Code funktioniert es wie gewünscht:

{if $sOrder.paymentID == 6}
Wunschtext Zahlart{#S#}
    {elseif $sOrder.paymentID == 1}
Wunschtext Zahlart{#S#}
    {elseif $sOrder.paymentID == 2}
Wunschtext Zahlart{#S#}
    {elseif $sOrder.paymentID == 3}
Wunschtext Zahlart{#S#} 
    {elseif $sOrder.paymentID == 4}
Wunschtext Zahlart{#S#} 
    {elseif $sOrder.paymentID == 5}
Wunschtext Zahlart{#S#} 
    {/if} 

 

1 „Gefällt mir“

@Toric schrieb:

Mit diesem Code funktioniert es wie gewünscht:

{if $sOrder.paymentID == 6}
Wunschtext Zahlart{#S#}
{elseif $sOrder.paymentID == 1}
Wunschtext Zahlart{#S#}
{elseif $sOrder.paymentID == 2}
Wunschtext Zahlart{#S#}
{elseif $sOrder.paymentID == 3}
Wunschtext Zahlart{#S#}
{elseif $sOrder.paymentID == 4}
Wunschtext Zahlart{#S#}
{elseif $sOrder.paymentID == 5}
Wunschtext Zahlart{#S#}
{/if}

 

In welchem Block in der index.tpl hast Du den eingebaut, bitte? 

Der Block kommt in die Emailvorlage. In diesem Fall ging es um die sORDERSTATEMAIL1

 

1 „Gefällt mir“

geht das ich in der index_ls.tpl, also auf dem lieferschein selber?

Auf den Belegen - zumindest bei der Rechnung - ist doch Zahlungsart und Versandart schon vorhanden. Falls es beim Lieferschein nicht so ist, kannst du doch den Block aus aus dem Rechnungsdokument übernehmen. Oder versteh ich dich falsch?

So, wie es oben für die Email geschrieben ist, kann man es in eine tpl nicht einfügen, vermute ich.

ja, die zahlungsart steht dort, aber ich will eben bei einer bestimmten zahlungsart noch einen weiten text dazu einfügen

 

 

Wenn es der Text ist, der bei der Zahlungsart hinterlegt ist, gibt es eine Variable dazu. Der wird zumindest in meinen Statusmails mit ausgegeben.

Andernfalls müsste man wirklich ein Kontrukt ähnlich wie das oben bauen und die Texte direkt in die tpl oder in neu angelegte Textfelder eingeben. Kenne mich da aber nicht aus. Ich würde da ausgehend von dem Code oben anfangen zu probieren.