X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Changing design (https://forum.x-cart.com/forumdisplay.php?f=51)
-   -   Displaying Discount (https://forum.x-cart.com/showthread.php?t=2199)

Jason Brice 04-07-2003 07:00 PM

Displaying Discount
 
Hi,

I want to be able to show the normal retail price for each product, and then a price after the global store discount (30%) has been applied. What's the easiest way to do this?

Of course I'd like the after discount price to be the most prominent one.

B00MER 04-07-2003 08:05 PM

You could apply a {math} equation to your .tpl files showing the 30% discount for every price of {$product.price}.

hth. ;)

Jason Brice 04-07-2003 08:23 PM

I'm guessing I should change /customer/main/products.tpl? A couple of further questions since I'm such a newbie:

What syntax do I use in constructing the {math} equation?

And what variable do I use to grab the flat 30% discount from the discount I set up as applying on all purchases greater than $0.00?

Code:

{if $active_modules.Subscriptions ne "" and $products[product].catalogprice}
{include file="modules/Subscriptions/subscription_info_inlist.tpl"}
{else}
{if $products[product].price ne 0}
{if $products[product].discount ne 0}
<font class=MarketPrice>{$lng.lbl_market_price}: <s>
{math equation="price/(1-(discount/100))" price=$products[product].price discount=$products[product].discount format="%d.00" assign=unformatted}{include file="currency.tpl" value=$unformatted}
</s></font>

{/if}
<font class=ProductPrice>{$lng.lbl_our_price}: {include file="currency.tpl" value=$products[product].price}</font><font class=MarketPrice>{include file="customer/main/alter_currency_value.tpl" alter_currency_value=$products[product].price}</font>{if $products[product].discount ne 0}, save {$products[product].discount}%{/if}{if $config.General.use_vat eq "Y"}, {$lng.lbl_including_vat} {$products[product].vat}%{/if}
{else}
<font class=ProductPrice>{$lng.lbl_enter_your_price}</font>
{/if}
{/if}



This bit of code:
Code:

<s>
{math equation="price/(1-(discount/100))" price=$products[product].price discount=$products[product].discount format="%d.00" assign=unformatted}{include file="currency.tpl" value=$unformatted}
</s>


seems to be doing something similar to what I want... but I can't figure out how it is being invoked.

B00MER 04-07-2003 09:45 PM

$products[product].price would be the product price.

Come to think of it using {math} may not be very good since it would put a load on the server, you'd better better of doing the calculations within the php and passing the variable onto smarty for display.

http://smarty.php.net/

Jason Brice 04-07-2003 10:32 PM

Okay, now I'm lost! :D

So, what do I do to create the new smarty object, and where should I create it? This is my first time using smarty, so be gentle!

B00MER 04-07-2003 11:21 PM

If you like I can make the modifications for you, feel free to PM me with details. :wink:

Jason Brice 04-07-2003 11:37 PM

I just PMed ya!

Jason Brice 04-08-2003 02:12 AM

Okay, against my better judgement I hard coded the discount into the display to see what would happen:

Code:

<font class=ProductPrice>{$lng.lbl_our_price}: <s>{include file="currency.tpl" value=$products[product].price}</s> {math equation="price*0.7" price=$products[product].price discount=$products[product].discount format="%d.2f" assign=unformatted}{include file="currency.tpl" value=$unformatted}</font><font class=MarketPrice>{include file="customer/main/alter_currency_value.tpl" alter_currency_value=$products[product].price}</font>{if $products[product].discount ne 0}, save {$products[product].discount}%


And it resulted in the wrong price being displayed:

Generic Comic Book

This is a test item.

--------------------------------------------------------------------------------
Our price: <s>$ 25.00</s> $ 17.20

shan 04-08-2003 03:05 AM

would you not just use the adv discount option in the modify products page for this one. Just enter your selling price and drop 30 in the Adv. discount (%) field ?

Jason Brice 04-08-2003 03:08 AM

I'd prefer not because the adv discount function rounds to the nearest dollar, and that is misleading and problematic when you are dealing with large volumes of low priced items like my business is.


All times are GMT -8. The time now is 07:29 AM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.