[Date Prev][Date Next][Thread Prev][Thread Next][Interchange by date
][Interchange by thread
]
[ic] Cookies-Enabled Checking Routine
>>Why is the cookies-enabled checking routine in the demo like this:
>>
>> [calc]
>> my $cname = $Config->{CookieName} || 'MV_SESSION_ID';
>> $Scratch->{have_cookie} = $Tag->read_cookie($cname)
>> and delete $Scratch->{tried};
>> return;
>> [/calc]
>> [if scratch have_cookie]
>> [elsif scratch tried]
>> You must have cookies set to leave the basket. Check out now or
>>forever
>> lose your shopping cart.
>> [/elsif]
>> [else]
>> [set tried]1[/set]
>> [bounce href="[area ord/basket]"]
>> [/else]
>> [/if]
>>
>>Why isn't it simple like:
>>
>>[if type=explicit compare="q{[read-cookie MV_SESSION_ID]}"]
>>[else]
>>You must have cookies set to leave the basket. Check out now or forever
>>lose your shopping cart.
>>[/else]
>>[/if]
>>
>>What is the added benefit of the top one?
>
>It is compatible with any session id cookie name, for one. Most people
>wouldn't change it, but you can name the cookie anything.
>
>In later IC versions, you could probably do:
>
>catalog.cfg:
>
> AutoVariable CookieName
>
>then
>
>[if type=explicit compare="q{[read-cookie __CookieName__]}"]
>[else]
>You must have cookies set to leave the basket. Check out now or >forever
>lose your shopping cart.
>[/else]
>[/if]
>
>But that requires setup changes, and the way it is works with any
>configuration.
I totally understand what you're saying there. But why bother with the
scratch variable "tried" and the bounce? I just want to make sure I'm not
missing something. Why not:
[calc]
my $cname = $Config->{CookieName} || 'MV_SESSION_ID';
$Scratch->{have_cookie} = $Tag->read_cookie($cname)
and delete $Scratch->{tried};
return;
[/calc]
[if scratch have_cookie]
[else]No cookies?[/else]
[/if]
- Grant
_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail.
http://www.hotmail.com