[ic] Controlling checkout.html shipping method selections

Ed LaFrance interchange-users@icdevgroup.org
Sun May 4 13:12:00 2003


At 05:52 PM 5/4/2003 +0100, you wrote:
>At 17:02 04/05/2003, you wrote:
>>At 10:07 AM 5/4/2003 +0100, you wrote:
>>>Hi Folks,
>>>
>>>I'm having a bit of trouble with the shipping methods displayed on 
>>>checkout.html.
>>>
>>>I've already set up two shipping methods (let's call them SHIP1 & 
>>>SHIP2), where the calculation is done by weight and they are behaving normally.
>>>
>>>What I would like to do now is customise which one is displayed by 
>>>checkout.html dependent on the cost of the goods+sales tax :
>>>
>>>
>>>     [if] (the cost of the goods + sales tax <= 28.00)
>>>
>>>        Show both methods in checkout.html
>>>
>>>     [if] (the cost of the goods + sales tax > 28.00)
>>>
>>>        Only show method SHIP2 in checkout.html
>>>
>>>     [/if]
>>>
>>>
>>>The checkout.html page is currently showing both methods using this 
>>>code, which I guess if just fine in the < 28.00 case, but not for the > 
>>>28.00 case.
>>>
>>>     <SELECT NAME=mv_shipmode>
>>>     [shipping
>>>       label=1
>>>       mode=|[data table=country key='[default country UK]' col=shipmodes]|
>>>     ]
>>>     </SELECT>
>>>
>>>
>>>I'll freely admit that I don't understand how most of the IC tags/code 
>>>work and having spent hours looking at code and getting nowhere fast I 
>>>have to ask if someone out there could supply the code (or enough of it 
>>>to get me going) to do the job. I'm sure it's pretty simple if you 
>>>understand how getting data from the databases works, but I'm so lame 
>>>with IC right now I couldn't even write the required [if][/if] lines :o(
>>>
>>>Many thanks to anyone that can help out here.
>>>
>>>Mark
>>
>>I'll start by saying that I've never tried it before, but according to 
>>the docs, your shipping formula can contain any mixture of ITL and 
>>Interchange Perl objects as part of the expression, so this *should* work:
>>
>>SHIP1   Shipping method 1       weight  0       9999    f if ( 
>>$Tag->subtotal({ noformat => 1}) + $Tag->salestax({ noformat => 1}) <= 28 
>>) { #your shipping formula here }
>>
>>- Ed L.
>
>Hi Ed,
>
>Many thanks for your reply :o)
>
>I've been using the UI to input the shipping method and data table which 
>has produced the following in shipping.asc:
>
>REC2ND  Standard Shipping (3-5 Days)    weight  0       0       e Your 
>Basket is Empty!         {'ui_ship_type' => "weight",'ups' => 
>"0",'at_least' => "0.98",'PriceDivide' => "1",}

Hmmm. I didn't guess that you had this many entries per shipping method. In 
any case, if you were to apply my idea to this, it would look something like:

REC2ND  Standard Shipping (3-5 Days)    weight  0       60      f if ( 
$Tag->subtotal( { noformat => 1} ) + $Tag->salestax( { noformat => 1} ) <= 
28 ) { 0.98 } else { 0 }           {'PriceDivide' => "1",}

I really have no idea if it will work or not, though in theory it should.

- Ed L.

>REC2ND  Standard Shipping (3-5 
>Days)    weight  0       60      0.98            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  60      100     1.14            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  100     150     1.20            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  150     200     1.40            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  200     250     1.55            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  250     300     1.68            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  300     350     1.81            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  350     400     2.03            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  400     450     2.21            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  450     500     2.41            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  500     600     2.71            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  600     700     3.00            {'PriceDivide' => "1",}
>REC2ND  Standard Shipping (3-5 
>Days)    weight  700     750     3.14            {'PriceDivide' => "1",}
>
>
>I realise this is cheeky, but could you show me an example using the above 
>working table as I'm unsure how this fits with your example?
>
>Many thanks
>
>Mark
>
>
>_______________________________________________
>interchange-users mailing list
>interchange-users@icdevgroup.org
>http://www.icdevgroup.org/mailman/listinfo/interchange-users

===============================================================
*** PLEASE NOTE: Office will be closed 05/05/03 - 05/13/03 ***
===============================================================
New Media E.M.S.              Technology Solutions for Business
463 Main St., Suite D         eCommerce | Consulting | Hosting
Placerville, CA  95667        edl@newmediaems.com
(530) 622-9421                http://www.newmediaems.com
(866) 519-4680 Toll-Free      (530) 622-9426 Fax
===============================================================