if/else condition funktioniert nicht ganz

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Lux

Neues Mitglied
4 Juni 2018
5
0
1
31
Heyho!

Ich habe da ein total dringendes Problem. über meinen Newsletter kann ich einen Produktparagraphen hinterlegen, der sich durch Platzhalter auch den Streichpreis zieht. Der ist aber manchmal auch als "0.00" hinterlegt, deshalb würde ich gerne eine if/else Kondition angeben. Der Paragraph war schon voreingestellt und sieht seit meiner Anpassung so aus:

Code:
<table border="0" cellpadding="0" cellspacing="0" width="100%">
   <tbody>
      <tr>
         <td align="center" valign="middle" width="100%" height="300">
         <a href="$link1UrlValue" display="block">
            <img alt="$link1TextValue jetzt kaufen" src="$image1ImageUrlValue" width="100%" />
         </a>
         </td>
      </tr>
      <tr>
         <td height="10" style="font-size:1px; line-height:1px; mso-line-height-rule:exactly;">&nbsp;</td>
      </tr>
      <tr>
         <td align="center" style="font-family:'Arial', sans-serif; font-size:14px; color:#000000; strong;">
            <b>$text4Value $text8Value $text5Value</b></td>
      </tr>
      <tr>
         <td height="10" style="font-size:1px; line-height:1px; mso-line-height-rule:exactly;">&nbsp;</td>
      </tr>
      <tr>
         <td align="center" style="font-family:'Arial', sans-serif; font-size:14px; color:#000000;">
           Nur $text2Value €</td>
      </tr>
      <tr>
         <td height="10" style="font-size:1px; line-height:1px; mso-line-height-rule:exactly;">&nbsp;</td>
      </tr>
      <tr>
         <td align="center" style="font-family:'Arial', sans-serif; font-size:14px; color:#B22222;">
            statt <strike>$text3Value</strike> €</td>
      </tr>
      <tr>
         <td height="20" style="font-size:1px; line-height:1px; mso-line-height-rule:exactly;">&nbsp;</td>
      </tr>
      <tr>
    #if($image1ImageUrlPresent)
         <td align="center">
         <a href="$link1UrlValue">
           <img alt="Jetzt kaufen!" src="http://img.srv2.de/bm/173084546154/187621801791.png" />
         </a>
         </td>
    #end
      </tr>
   </tbody>
</table>

Soweit so gut, hier funktioniert alles. ABER, dort wo "$Text3Value" steht hätte ich gerne, dass wenn der Wert "0.00" oder kleiner als "1" ist, dass eine komplette Leerzeile hinterlegt wird. Wenn der Wert größer ist, soll dann eben <td align="center" style="font-family:'Arial', sans-serif; font-size:14px; color:#B22222;"> statt <strike>$text3Value</strike> €</td> dort stehen.

Ich bin leider Anfänger und mein selbst irgendwie zusammengebasteltes snippet funktioniert nicht, da die Syntax auf dem Server ein wenig anders ist als gewöhnlich. Mein Versuch sah so aus:

Code:
 #if($text3Value < 1)

       </ br>

#else
         <td align="center" style="font-family:'Arial', sans-serif; font-size:14px; color:#B22222;">
            statt <strike>$text3Value</strike> €</td>

    #end

Wenn ihr mir da helfen könntet, wäre das supi.

LG
Lux
 

basti1012

Senior HTML'ler
26 November 2017
1.475
157
63
39
Minden
sebastian1012.bplaced.net
Wenn ich dich richtig verstanden habe könnte man es so machen.
https://codepen.io/basti1012/pen/GGoBQq
Irgendwie habe ich das Gefühl das du gerade überhaupt nicht weiter kommst ,weil dein Code irgendwie html,css,js,php alles auf einmal ist.
$text3Value das könnte js oder php sein. Könntest du mal dein ganzes Script posten ? Fals du noch weitere Hilfe brauchst wäre das zum Vorteil weil mit den Codeschnipsel kann man nicht erkennen was du da genau vor hast .
Außerdem du solltest mal deine Css überarbeiten.
am besten wäre die Css auszulager ,also kein inline style.
Die alten Tags wie <strike> <b> solte man in Html5 auch nicht verwenden.
 
Zuletzt bearbeitet:

Lux

Neues Mitglied
4 Juni 2018
5
0
1
31
Danke für die schnelle Antwort!
Leider kann ich gar nichts auslagern, mir steht lediglich das eine HTML-Textfeld zur Verfügung. In dem Fall habe ich auch nicht nur einen Schnipsel gepostet, sondern den ganzen Code aus diesem Feld. Auf etwas anderes habe ich keinen Zugriff. Dementsprechend funktioniert dein Code auch leider nicht :( $text3Value sind einfach nur Platzhalter des Newsletter-Servers. Das sind Werte, die über eine Content-Schnittstelle übermittelt werden.

Mit den Tags hast du recht, die habe ich mal angepasst.
 
Zuletzt bearbeitet:

Lux

Neues Mitglied
4 Juni 2018
5
0
1
31
Welchen Link genau bräuchtest du denn? Es handelt sich um einen Newsletter-Anbieter, das heißt die Darstellung siehst du nur über den Newsletter selber.
 
Zuletzt bearbeitet:

Marv

Mitglied
6 November 2010
411
9
18
Milkyway
Hi,

was funktioniert genau nicht? Kriegst du einen Syntax error, oder wird etwas anderes ausgegebene als du erwartest?
Ohne deinen Anbieter zu kennen, oder welche Sprache das ist die dort benutzt wird kann ich schwer was sagen. In der Regel müsste es von deinem Anbieter dafür eine Dokumentation geben.

Ansonsten würde ich es grob so machen, und auf gleiche Einrückung achten:
Code:
#if($text3Value < 1)
    test1
#else
    test2
#end

oder

Code:
#if($text3Value == "0.00")
    test1
#else
    test2
#end
 

Lux

Neues Mitglied
4 Juni 2018
5
0
1
31
was funktioniert genau nicht? Kriegst du einen Syntax error, oder wird etwas anderes ausgegebene als du erwartest?

Das ganze Newsletter-Layout ist dann total zerschossen...

Ohne deinen Anbieter zu kennen, oder welche Sprache das ist die dort benutzt wird kann ich schwer was sagen. In der Regel müsste es von deinem Anbieter dafür eine Dokumentation geben.

Leider gibt es so gar nichts. Ich bin auf epi-server unterwegs und die wollen natürlich, dass ich für die Anpassung des Paragraphen bezahle, deshalb geben die einem nur sehr spärliche Informationen... Ich hatte gehofft es so regeln zu können, da die da teilweise 500 € für irgendwelche Kleinigkeiten haben wollen.

Deinen ersten Vorschlag hatte ich ja schon versucht, da ging es nicht. Bei deinem zweiten Vorschlag ist leider auch wieder alles zerschossen. Ich verstehe das echt nicht so ganz. Bei der voreingestellten #if Kondition geht es ja auch...

Am besten schickst du mal Alle links die dazu gehören und alles was du an code dazu hast

Wie gesagt, das ist alles an code was ich habe und links gibt es ja keine, da es sich um einen Newsletter handelt... :/
 

Marv

Mitglied
6 November 2010
411
9
18
Milkyway
In der Dokumentation gibt es einen Punkt "Velocity-Klassen und -Funktionen".

Eventuell reicht es mein erstes Beispiel zu Ändern, wenn es nur bestimmte Operatoren zur verfügung gibt:

Code:
#if($text3Value <= 0)
    test1
#else
    test2
#end

Ansonsten bin leider auch ratlos.
 

Sailor

Aktives Mitglied
14 Juli 2017
512
67
28
In der Dokumentation wird unterschieden, ob es sich bei der Vergeichsvariable um eine Zahl oder um einen String (Zeichenkette) handelt.
Wenn $text3Value eine Zeichenkette ist, dann muss das if-Statement '#if($test3Value != "0.00")' lauten - ich glaube kaum, dass in dem Fall ein größer/gleich Vergleich funktioniert.
 

Lux

Neues Mitglied
4 Juni 2018
5
0
1
31
Danke an euch beide für die Hilfe! Leider hat beides nichts gebracht. Aber [ICODE#if($test3Value != "0.00")'][/ICODE] hat es zumindest nicht zerschossen, so wie alle anderen Versuche. Ich glaube ich gebe es nun auch auf und werde einfach keinen Streichpreis angeben...