close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

How to display a flat rate charge that is set to 0?

Thread began 9/15/2009 3:27 pm by kp006274029 | Last modified 9/19/2009 4:56 am by Dave Buchholz | 1962 views | 5 replies |

kp006274029

How to display a flat rate charge that is set to 0?

Hi,

Is it possible to set a charge to display on the cart page when the flat rate is set to 0? The reason I ask is because I've got charge rules that occur for various amounts which work great, however one of these rules is meant to fire to indicate that there is no charge for P&P when the subtotal of the cart is > a certain amount.

The default behaviour doesn't show the rule name in the charge section if the flat rate is set to 0, although I understand the reason for it not displaying; in this case I would like to override this behaviour.

Many Thanks in Advance
kp

P.S: Forgot to mention, using PHP and DW8

Sign in to reply to this post

Dave BuchholzBeta Tester

Assuming you are talking about a shipping charge you need to find this line of code on your cart pages:

php:
<?php

//WA eCart Merchandizing Show Start
//ecart="eCart1"
if ($eCart1->GetDiscounts() > || $eCart1->GetCharges() > || $eCart1->GetShipping() > || $eCart1->GetTax() > 0)     {
?>



and modify it like so:

php:
<?php

//WA eCart Merchandizing Show Start
//ecart="eCart1"
if ($eCart1->GetDiscounts() > || $eCart1->GetCharges() > || $eCart1->GetShipping() >= || $eCart1->GetTax() > 0)     {
?>



then find this line:

php:
<?php

//WA eCart Merchandizing Show Start
//ecart="eCart1"
if ($eCart1->GetShipping() > 0)     {
?>



and modify it like so:

php:
<?php

//WA eCart Merchandizing Show Start
//ecart="eCart1"
if ($eCart1->GetShipping() >= 0)     {
?>



now in the table cell that contains the shipping cost you could add code like this if you wanted to display something other than 0.00

php:
<?php if ($eCart1->GetShipping() > 0)     { echo WA_eCart_DisplayMoney($eCart1$eCart1->GetShipping());  } else { echo "FREE"; } ?>
Sign in to reply to this post

kp006274029

Thank you for your reply dave; however I'm trying to do this with Charge Rules and not shipping rules (because they are accumulative). I have three rules:

One that sets the P&P to £1.00 if the subtotal of the cart is between 2.99 - 15.99
One that sets the P&P to £2.00 if the subtotal of the cart is between 15.99 - 25.99
One that sets the P&P to £0.00 if the subtotal of the cart is above 25.99.

If I use shipping rules and the subtotal of the cart is 2.99 than the shipping is set to £1.00, however if the subtotal of the cart is changed to above 15.99 than the shipping is set to £3.00 i.e. £1.00 + £2.00.

The problem with the charge rules is that it uses a loop, so your solution doesn't work with them. It just occured to me is a way to stop the shipping rules from being accumulative.

Sign in to reply to this post

Dave BuchholzBeta Tester

For charges try something like this. Find the following code:

php:
<?php

//WA eCart Merchandizing Show Start
//ecart="eCart1"
if ($eCart1->GetCharges() > 0)     {
?>
              <tr>
                <td class="eC_SummaryLabel">Charges</td>
                <td>&nbsp;</td>
              </tr>
              <?php
if (!$eCart1->Rules_EOF("Charges")) {
    while (!
$eCart1->Rules_EOF("Charges")) {
        if (
$eCart1->RuleLooperValue("Charges") > 0) {
?>
                <tr>
                  <td class="eC_IndividualCharge"><?php echo $eCart1->RuleLooperName("Charges"); ?></td>
                  <td><?php echo WA_eCart_DisplayMoney($eCart1$eCart1->RuleLooperValue("Charges")); ?></td>
                </tr>
                <?php
        
}
        
$eCart1->Rules_MoveNext("Charges");
}
    
$eCart1->Rules_MoveFirst("Charges");
}
?>



and change it to this:

php:
<?php

//WA eCart Merchandizing Show Start
//ecart="eCart1"
if ($eCart1->GetCharges() >= 0)     {
?>
              <tr>
                <td class="eC_SummaryLabel">Charges</td>
                <td><?php if ($eCart1->GetCharges() == 0) { echo 'FREE'; } else { echo'&nbsp;'; } ?></td>
              </tr>
              <?php
if (!$eCart1->Rules_EOF("Charges")) {
    while (!
$eCart1->Rules_EOF("Charges")) {
        if (
$eCart1->RuleLooperValue("Charges") > 0) {
?>
                <tr>
                  <td class="eC_IndividualCharge"><?php echo $eCart1->RuleLooperName("Charges"); ?></td>
                  <td><?php echo WA_eCart_DisplayMoney($eCart1$eCart1->RuleLooperValue("Charges")); ?></td>
                </tr>
                <?php
        
}
        
$eCart1->Rules_MoveNext("Charges");
}
    
$eCart1->Rules_MoveFirst("Charges");
}
?>



You may also need to change this code:

php:
<?php

//WA eCart Merchandizing Show Start
//ecart="eCart1"
if ($eCart1->GetDiscounts() > || $eCart1->GetCharges() > || $eCart1->GetShipping() > || $eCart1->GetTax() > 0)     {
?>



to this:

php:
<?php

//WA eCart Merchandizing Show Start
//ecart="eCart1"
if ($eCart1->GetDiscounts() > || $eCart1->GetCharges() >= || $eCart1->GetShipping() > || $eCart1->GetTax() > 0)     {
?>
Sign in to reply to this post

kp006274029

Thanks Dave worked perfectly. :)

Sign in to reply to this post

Dave BuchholzBeta Tester

Originally Said By: kp006274029
  Thanks Dave worked perfectly. :)  



No worries, it was an interesting question to answer.

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...