#1 (permalink)  
Alt 25.03.2005, 15:45
Erfahrener Benutzer
 
Registriert seit: 11.02.2005
Beiträge: 1.956
Standard

Folgendes Problem:

Es gibt Dinge im Shop die haben als Preis 0 Euro, weil Handyshop und andere Ger?te ohne Vertrag kosten z.b. 235,42 Euro.

Nun habe ich das versucht so zu l?sen, da es sonst nicht angezeigt wird, dass bei einem Preis von 0 Euro das auch da steht:

{if $products_price > 0}{$PRODUCTS_PRICE}{else} 0,00 Euro{/if}

Ich ungef?hr 1000 unterschiedliche Varianten mit unterschiedlichen Stellungen, etc ausprobiert aber Smarty ist so freundlich und schreibt grunds?tzlich 0,00 Euro, auch wenn der Artikelpreis, wie im Beispiel 235,42 Euro betr?gt.

Hat daf?r vielleicht jemand eine Erkl?tung?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 25.03.2005, 16:29
Benutzerbild von KALE MX  
Registriert seit: 18.03.2005
Beiträge: 233
Standard

Ich versteh zwar nicht viel vom Programmieren aber k?nntest du nicht das hier "{else} 0,00 Euro" weglassen?

Mit freundlichen Gr??en
KALE^MX
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 25.03.2005, 16:38
xt:Commerce Support Kunde
 
Registriert seit: 23.12.2004
Beiträge: 56
Standard

probiers mal mit
{if int($products_price) > 0}{$PRODUCTS_PRICE}{else} 0,00 Euro{/if}

ich wei? jetzt nicht, ob smarty das int versteht, ansonsten mu?t du es mit php l?sen
{php}if(int($products_price) > 0) { echo $PRODUCTS_PRICE }else{ echo '0,00 Euro'}{/php}

Probier das mal durch.
Kann sein, dass php oder Smarty den $products_price nicht als Zahl erkennt, weshalb die Formel ansich nicht mehr stimmen kann.

Ach ja, noch was f?llt mir auf: Gro? und Kleinschreibung beachten !!!
$products_price ist nicht $PRODUCTS_PRICE !!!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 25.03.2005, 16:39
Erfahrener Benutzer
 
Registriert seit: 11.02.2005
Beiträge: 1.956
Standard

Nee, dann w?rde ja immer das 0,00 Euro noch hinterm Preis stehen.

Und ich hab auch schon zig Varianten probiert, die irgendwie umgestellt sind, aber keine funktioniert.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 25.03.2005, 16:48
Erfahrener Benutzer
 
Registriert seit: 11.02.2005
Beiträge: 1.956
Standard

Zitat:
Originally posted by berny@Mar 25 2005, 17:38 PM
probiers mal mit
{if int($products_price) > 0}{$PRODUCTS_PRICE}{else} 0,00 Euro{/if}

ich wei? jetzt nicht, ob smarty das int versteht, ansonsten mu?t du es mit php l?sen
{php}if(int($products_price) > 0) { echo $PRODUCTS_PRICE }else{ echo '0,00 Euro'}{/php}

Probier das mal durch.
Kann sein, dass php oder Smarty den $products_price nicht als Zahl erkennt, weshalb die Formel ansich nicht mehr stimmen kann.

Ach ja, noch was f?llt mir auf: Gro? und Kleinschreibung beachten !!!
$products_price ist nicht $PRODUCTS_PRICE !!!
Danke f?r die Idee, funktioniert aber auch beides leider nicht.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 26.03.2005, 10:51
xt:Commerce Support Kunde
 
Registriert seit: 23.12.2004
Beiträge: 56
Standard

Versuche es nochmals:
{php}if(int($PRODUCTS_PRICE) > 0) { echo $PRODUCTS_PRICE; }else{ echo '0,00 Euro';}{/php}

{php}if(int($products_price) > 0) { echo $products_price; }else{ echo '0,00 Euro';}{/php}

K?nnte aber auch so hei?en, je nach Template !
{php}if(int($module_data.PRODUCTS_PRICE) > 0) { echo $module_data.PRODUCTS_PRICE; }else{ echo '0,00 Euro';}{/php}
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 27.03.2005, 09:13
 
Registriert seit: 04.10.2004
Beiträge: 269
Standard

m.E. gibt es ywei m?gliche Gr?nde:

1. smarty ist "case sensitive", d.h., die Schreibweise der Variablennamen muss genau identisch sein.

"PRODUCTS_PRICE" ist nicht gleich "products_price". Versuche mal "{if $PRODUCTS_PRICE > 0}"

2. "{$PRODUCTS_PRICE}" ist keine Zahl sondern eine String (z.B. "5.00 EUR").

So dass m.E. die Bedingung "{if $products_price > 0}" nicht richtig ausgewertet werden kann.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 27.03.2005, 09:34
Erfahrener Benutzer
 
Registriert seit: 08.09.2003
Beiträge: 2.024
Standard

Punkt 2 ist der Grund, warum das nicht klappt.

Ein String, der irdgendwas enth?lt ist immer > 0.

Was wird denn angezeigt, wenn der Preis 0 ist? Nix?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 27.03.2005, 12:59
xt:Commerce Support Kunde
 
Registriert seit: 23.12.2004
Beiträge: 56
Standard

hmmm, dann stellt sich die Frage, wie der String ausschaut.
W?re er 0.00 Euro, w?rde sich das Problem nicht stellen.

Welches Ergebnis bringt der String $PRODUCTS_PRICE wenn der Preis 0 Euro hat ?

Dies k?nnte man dann auch so verlgleichen:
{php}if($PRODUCTS_PRICE != '0.00') { echo $PRODUCTS_PRICE; }else{ echo '0,00 Euro';}{/php}
oder wenn der String nichts zur?ckbringt:
{php}if($PRODUCTS_PRICE != '') { echo $PRODUCTS_PRICE; }else{ echo '0,00 Euro';}{/php}
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #10 (permalink)  
Alt 27.03.2005, 16:36
Erfahrener Benutzer
 
Registriert seit: 11.02.2005
Beiträge: 1.956
Standard

Zitat:
Originally posted by Hubi@Mar 27 2005, 09:34 AM
Punkt 2 ist der Grund, warum das nicht klappt.

Ein String, der irdgendwas enth?lt ist immer > 0.

Was wird denn angezeigt, wenn der Preis 0 ist? Nix?
Dann wird nichts angezeigt.

Aber, wenn deine Aussage 100% richtig w?re, dann w?rde {if PRODUCTS_PRICE != "0"}{$PRODUCTS_PRICE}{else}0,00 Euro{/if} ja funktionieren, geht aber auch nicht!

Obwohl nur {$PRODUCTS_PRICE} bei manchen anderen Produkten z.B. 235,42 ausgibt gibt es bei dieser IF-Schleife 0,00 Euro aus.

Und das verwirrt mich ein bisschen.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
mathe, smarty

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand