ecart IF statements
This post has been deleted.
This post has been deleted.
inCart is used to lookup an items ID to see if a particular item is in the cart. The argument that inCart Accepts is and ID number:
InCart($itemID)
you cant pass it a column name.
For what you are trying to do, use the Conditional Total function, the structure for the Conditional total function is:
ConditionalTotal($ColumnName, $ConditionalColumn, $ConditionalValue)
so the if statement should be:
if ($WebCart->ConditionalTotal("Quantity", "ItemType", "2") > 0) {
this will return the Quantity of items where the itemType column is 2, if that is greater than 0, write the shipping submit button.
Hi Jason, I had deleted my post as I worked out how to do it before you replied :)
The code I ended up using was:
for the cart page (to display the shipping button or checkout button.........
<?php
if ($WebCart->DisplayInfo("ItemType") == "2") {
?>
<input type="submit" value="Shipping" name="WebCart_Shipping">
<?php
}
else {
?>
<input type="submit" value="Checkout" name="WebCart_Checkout">
<?php
}
?>
.......for the product page i used:
<input name="WebCart_1_ATC" type="submit" <?php
if ($WebCart->InCart($row_rsItems["ItemID"])) {
?>disabled<?php
}
?> class="eC_FormButton" value="Add to Cart">
which was a different approach :)
however for the cart page there is a bug where it doesnt work perfectly so investigating....
Chris
[EDIT] looks like I sorted the error I got I forgot the $WebCart->
if ($WebCart->ConditionalTotal("Quantity", "ItemType", "2") > 0) {
:)
using your method will only work if the first item in the cart has an itemType of 2, use my if statement instead, it will work if any item in the cart has an itemType of 2.
displayInfo is really only helpful when using a cart loop. like in the cart display page.
think of the cart in terms of a recordset.
echo($WebCart->DisplayInfo("ItemType"))
is similar to:
echo($row_recordsetName['columnName'])
in that it will echo the first row of the cart / recordset.
without looping through all the cart columns, it wont tell you if an item with itemType 2 is in the cart.
another method could be to use TotalColumn, that will return the sub total for the column you supply in the argument, check to see it that is greater than 0:
if ($WebCart->TotalColumn("ItemType") > "0") {
but I still think conditionalTotal is better:
if ($WebCart->ConditionalTotal("Quantity", "ItemType", "2") > 0) {
Yes your right as always Jason :) I also replied and edited my last message before I saw your post as I realised I forgot to put in the WebCart->
It would really be handy if I had all the functions at han and their uses - I guess I can go in the WA_eCart_Definition_PHP.php and look at each function and experiment but just be nice to know a little more about them :)
Chris
Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.
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.