[ic] shipping.asc not working right

kerry blalock kerry at basicq.com
Tue Jun 25 10:26:21 UTC 2013


On 06/24/2013 06:46 AM, Angus Rogerson wrote:
> On 2013-06-23, at 10:18 AM, kerry blalock wrote:
>
>> I am trying to add an additions shipping method to my site and seem to be having a problem with the logic. Here is the code that is giving me an error on the truckbig method:
>>
>> truckbigger:      Oversize Truck Shipping
>>         criteria <<EOC
>> [calcn]
>>         foreach my $item (@$Items) {
>>                 if ($item->{width} >= 160) {
>>                         # We have to use this shipping method
>>                         return 1;
>>                 }
>>         }
>>         return 0;
>> [/calcn]
>> EOC
>>         min     1
>>         max     1
>>         cost    170.00
>>
>> truckbig:	Truck Shipping
>> 	criteria <<EOC
>> [calcn]
>> 	foreach my $item (@$Items) {
>> 		if (($item->{width} >= 108 and ($item->{width} <=160)) {
>> 			# We have to use truckbigger shipping method
>> 			return 1;
>> 		}
>>        }
>>        return 0;
>> [/calcn]
>> EOC
>>         min     1
>>         max     1
>>         cost    85.00
>>
>> Truckbigger works as is. But when I want to charge less for rods between 108 and 160, I get an error, 
>>
>> Note: No match found for mode 'ground', quantity '', returning 0. Shipping defaults to the shippin method just below truckbig method. Need fresh eyes to help me figure out why this is not working.
>>
>> Kerry
>> _______________________________________________
>> interchange-users mailing list
>> interchange-users at icdevgroup.org
>> http://www.icdevgroup.org/mailman/listinfo/interchange-users
>
>
>> 		if (($item->{width} >= 108 and ($item->{width} <=160)) {
>
> Looks like you are missing a closing bracket between "108" and "and".
> HTH
> Angus
>
>
> ---
> Angus Rogerson, BMath, BScN, RN
>
> Duct Tape Programmer
> University of Waterloo | Retail Services | Information Systems
>
> Visit Us Online & Right On Campus www.retailservices.uwaterloo.ca
>
Thanks Angus,

I did find the missing bracket and added, but it still did not work.

I finally have it kinda working with this:

truckbig:       Truck Shipping
        criteria <<EOC
[calcn]
        foreach my $item (@$Items) {
                if ($item->{width} >= 160) {
                        # We have to use truckbigger shipping method
                        return 2;
               }
        
               if ($item->{width} >= 108) {
                        # We have to use truckbig shipping method
                        return 1;
               }
       }
       return 0;
[/calcn]
EOC
        min     1
        max     1
        cost    85.00

        min     2
        max     2
        cost    170.00
       
        min     3
        max     3
        cost    200.00

The problem I have now is if a customer adds a item that is 144" and
then adds another that is 192", to the same cart, it does not pick up
the higher shipping cost. That was why I was trying to use the
conditional statement and two different methods.

Not sure why the one above is not picking up the higher cost, but itt
seems to hold the first if statement used by each method. If I add a
192" and then add a 144", it retains the higher cost for the 192" which
is fine, but the other way around is not.

Odds are that most customers will not order the combination so I am
leaving it active for now until I can come up with the correct solution.

Thanks,

Kerry
>
>
>
>
>
>
> _______________________________________________
> interchange-users mailing list
> interchange-users at icdevgroup.org
> http://www.icdevgroup.org/mailman/listinfo/interchange-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.icdevgroup.org/pipermail/interchange-users/attachments/20130625/38c593b7/attachment.html>


More information about the interchange-users mailing list