[ic] Controlling checkout.html shipping method selections
Mark Bryant
interchange-users@icdevgroup.org
Sun May 4 13:36:01 2003
At 18:11 04/05/2003, you wrote:
>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
Ed,
You're a star!!!
Many thanks once again :o)
Mark