Shop Support News Archive - Shopbetreiber News -> Forum : Ansprechen der $PRODUCTS_PRICE
dima-office
19.01.2010, 21:06
Hi,
ich verzweifel grad an einer vermutlich ganz ganz einfachen Sache und hab im Forum leider auch nichts darüber gefunden.
Ich möchte anhand des preises steuern was angezeigt wird. Also im grossen und ganzen sooll das Ergebnis folgendermassen aussehen:
Wenn der preis unter 250€ liegt soll die meldung "Leasing ist ab einem Verkaufspreis von 250 EUR moeglich
wenn der preis zwischen 250 und 5000 € liegt soll eine tabelle angezeigt werden.
wenn der preis über 5000 € liegt soll wiederum eine Textpassage kommen die heisst: Bitte fordern Sie ein Leasingangebot an
Ich habe rumprobiert aber komme auf keinen grünen zweig. Vielleicht sieht jemand den fehler im Code
{if $PRODUCTS_PRICE <= 200,00}
Leasing ist ab <br>
einem Verkaufspreis <br>
von 250 EUR moeglich
{elseif $PRODUCTS_PRICE >= 5000,00}
Bitte fordern Sie <br>
ein Leasingangebot an
{else}
hier kommt dann die tabelle hin
{/if}
Autodidakt
19.01.2010, 21:45
Das ist der Inhalt des Tags {$PRODUCTS_PRICE}:
118,04 EUR
Du mußt für das Spielchen also die Zahlen aus dem String holen, z.B. mit (int), dann durch 100 teilen, damit Du den tatsächlichen Preis hast. In dem Fall wären es sonst 11804...
Wenn es blöd kommt, steht noch mehr drin, z.B.
<span class="productOldPrice">
<span class="priceInstead">Statt </span>
12,00
<span class="priceSymbolLeft">€</span>
</span>
<br/>
<span class="PriceNewSpecial2">
<span class="priceOnly"> Nur </span>
1,19
<span class="priceSymbolLeft">€</span>
</span>
Dann mußt Du das auch noch vorher splitten...
Dann kannst Du damit weiterrechnen.
Übers Template wirds anstrengend ;)
Edith sagt:
Besser den Preis nochmal ohne Formatierung abfragen und gleich sauber rechnen
dima-office
19.01.2010, 22:04
Hallo Autodidakt,
bitte entschuldige wenn ich blöd frage. Bin bezüglich ECB ein absoluter Anfänger und versuch grad durchzusteigen.
Wenn ich dich richtig verstanden habe, dann ist es besser man definiert für den preis aleine eine eigene Klasse, beispielsweise in der xtc_price.php und nimmt dann das reine unformatierte rgebnis für die If Anweisung?
Habe ich das richtig verstanden?
Viele Grüße Reiner
also du kannst auch direkt in der /includes/modules/product_info.php den neuen Wert berechnen und dann an das Template übergeben
$products_price = $xtPrice -> xtcGetPrice($products['products_id'],
$format = false,
$this -> contents[$products_id]['qty'],
$products['products_tax_class_id'],
$products['products_price']);
$products_price_new = $products_price/1000;
und dann an berechnen und dann ans Template geben
$info_smarty->assign('PRODUCTS_PRICE_NEW', '(Neuer Preis: '.
$products_price_new.')');
dima-office
19.01.2010, 22:23
Hallo Redbug,
ganz lieben Dank. Das wäre jetzt ein Weg. Das werde ich doch gleich mal ausprobieren
Viele Grüße Reiner
Hat geklappt ganz ganz lieben Dank für eure Hilfe
Viele Grüße Reiner
Autodidakt
19.01.2010, 22:58
Und beim näxten Update isses womöglich wieder weg...
:smiley_emoticons_hu
Ihr sollt solche Sachen ins Template verlagern, dafür gibt es jetzt ein eigenes Verzeichnis smarty.
Dann muß ins Info-Template halt reingeschrieben werden {Leasinganzeige}
In der function steht sinngemäß:
function smarty_function_Leasinganzeige($params,&$smarty){
global $xtPrice, $product;
$Leasingsmarty = new smarty;
$preisvomding = $xtPrice -> xtcGetPrice($product -> data['products_id'], $format = true, 1,
$product -> data['products_tax_class_id'],
$product -> data['products_price'], 1);
$wirrechnenmit = $preisvomding['plain'];
if($wirrechnenmit < 250){
return $Leasingsmarty->fetch(CURRENT_TEMPLATE.'/module/product_info/Leasing_erstab250.html');
} elseif ($wirrechnenmit >= 250 and $wirrechnenmit<5000){
return $Leasingsmarty->fetch(CURRENT_TEMPLATE.'/module/product_info/Leasing_Tabelle.html');
} else {
return $Leasingsmarty->fetch(CURRENT_TEMPLATE.'/module/product_info/Leasing_mutigmutig.html');
}
}
In die Htmls klatschte den Text schön formatiert bzw. die Tabelle. Dann kann man nämlich die Tabelle schön per FTP hochladen...
Dann noch die Sprache übergeben und Du bist auch multilingual. Ein paar Anweisungen für den Fehlerfall oder den Ausschluß von Artikeln wären auch nicht schlecht. Irgendwann verkaufst Du evtl. containerweise individuell bedrucktes Klopapier und der Kunde freut sich, daß er das leasen kann^^
Ich hab das spontan runtergetippt und nicht getestet. Wird schon schiefgehen ;)
Edith sagt:
Es heißt <br />nicht<br>
Und beim näxten Update isses womöglich wieder weg...
:smiley_emoticons_hu
Ihr sollt solche Sachen ins Template verlagern, dafür gibt es jetzt ein eigenes Verzeichnis smarty.
Dann muß ins Info-Template halt reingeschrieben werden {Leasinganzeige}
In der function steht sinngemäß:
function smarty_function_Leasinganzeige($params,&$smarty){
global $xtPrice, $product;
$Leasingsmarty = new smarty;
$preisvomding = $xtPrice -> xtcGetPrice($product -> data['products_id'], $format = true, 1,
$product -> data['products_tax_class_id'],
$product -> data['products_price'], 1);
$wirrechnenmit = $preisvomding['plain'];
if($wirrechnenmit < 250){
return $Leasingsmarty->fetch(CURRENT_TEMPLATE.'/module/product_info/Leasing_erstab250.html');
} elseif ($wirrechnenmit >= 250 and $wirrechnenmit<5000){
return $Leasingsmarty->fetch(CURRENT_TEMPLATE.'/module/product_info/Leasing_Tabelle.html');
} else {
return $Leasingsmarty->fetch(CURRENT_TEMPLATE.'/module/product_info/Leasing_mutigmutig.html');
}
}
In die Htmls klatschte den Text schön formatiert bzw. die Tabelle. Dann kann man nämlich die Tabelle schön per FTP hochladen...
Dann noch die Sprache übergeben und Du bist auch multilingual. Ein paar Anweisungen für den Fehlerfall oder den Ausschluß von Artikeln wären auch nicht schlecht. Irgendwann verkaufst Du evtl. containerweise individuell bedrucktes Klopapier und der Kunde freut sich, daß er das leasen kann^^
Ich hab das spontan runtergetippt und nicht getestet. Wird schon schiefgehen ;)
Edith sagt:
Es heißt <br />nicht<br>
da gebe ich dir natürlich vollkeommen recht, dass das dann u.U. bei nächsten Update wieder weg sein könnte!
Habe das bis jetzt dummerweise immer so gemacht da ich davon nichts wusste ;(
Werde ich bei meinem nächsten Shop so machen!! Danke für den Tipp
dima-office
19.01.2010, 23:37
OK da geb ich dir jetzt vollkommen recht, beim nächsten Update kanns weg sein. An das Dmarty Verzeichnis muss ich mich glaub erst noch ein bisserle gewöhnen lach
Ups ups das böse <br> ähm <br /> Wie kann das denn nur so sachen machen.
Das mit dem reincoden muss man sich aber glaub echt abgewöhnen.
Nochmals ganz lieben und herzlichen Dank.
Reiner
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.