[ic] Switching from HIGH mode to RPC mode problem
Mark Bryant
mark at eros-shop.co.uk
Thu Aug 11 05:18:06 EDT 2005
At 09:27 11/08/2005, you wrote:
>Mark Bryant wrote:
>
>> $myout = sprintf("<TD ALIGN=RIGHT class=contentbar1>£%.2f</td>",
>> $Tag->subtotal({ noformat => 1 })*0.175);
> ^^^^^^^^
> 'noformat'
>
>Try quoting noformat. I've found that unquoted hash keys in Perl blocks
>can be funny.
>
>jimbo
>;-)
Hi Jimbo,
quoting noformat seems to have done the trick for that one!! Many thanks
for that :)
However, now I'm getting more weird [perl] errors on my checkout page that
also don't happen in HIGH mode
supercow.vwe.net egP8XQBC:vwe.net - [11/August/2005:09:00:28 +0000] eros
/cgi-bin/eros/process.html Safe: Can't locate object method "new" via
package "Vend::Parse" (perhaps you forgot to load "Vend::Parse"?) at
/usr/lib/interchange/lib/Vend/Interpolate.pm line 618.
>
>
> if ($Scratch->{is_bad_shopping_cart} > 0){
> $myout = <<'EOF';
> <table align="center" cellpadding="0" cellspacing="0">
> <TR>
> <td><img align="left" src="/eros/images/warning_icon.gif" border="0"></td>
> <td align=center><b><font color="#993333">You must remove all
Out-of-Stock items<BR>from your cart before you can checkout!</font></b></td>
> </tr>
> </table>
> EOF
> }
> elsif ($Tag->total_cost({ noformat => 1}) <7){
> $myout = <<'EOF';
> <table align="center" cellpadding="0" cellspacing="0">
> <TR>
> <td><img align="left" src="/eros/images/warning_icon.gif" border="0"></td>
> <td align=center><b><font color="#993333">Not enough items in your
shopping cart!<br>Minimum Order £7.00</font></b></td>
> </tr>
> </table>
> EOF
> }
> return $myout;
>
>
supercow.vwe.net egP8XQBC:vwe.net - [11/August/2005:09:00:28 +0000] eros
/cgi-bin/eros/process.html Safe: Can't locate object method "new" via
package "Vend::Parse" (perhaps you forgot to load "Vend::Parse"?) at
/usr/lib/interchange/lib/Vend/Interpolate.pm line 618.
>
>
> my $myout = sprintf("<a
href='http://quote.yahoo.com/m5?a=%.2f&s=GBP&t=EUR&c=0'
target='_blank'>Currency Converter</a>", $Tag->total_cost({ noformat => 1}) );
> return $myout;
>
>
supercow.vwe.net egP8XQBC:vwe.net - [11/August/2005:09:00:28 +0000] eros
/cgi-bin/eros/process.html Safe: Can't locate object method "new" via
package "Vend::Parse" (perhaps you forgot to load "Vend::Parse"?) at
/usr/lib/interchange/lib/Vend/Interpolate.pm line 618.
>
>
> my $freeout = '';
> if ($Tag->total_cost({ noformat => 1}) >= 10.00) {
> $freeout = <<'EOF';
> <BR><B>Your order qualifies for an Eros Shop Free
Sample!</B><small><sup>**</sup></small><BR><BR>
> <SELECT NAME=free_sample align=absmiddle>
> <OPTION VALUE=""> Please Choose Your Free Sample
> <OPTION [selected free_sample Eros Shop Choice] VALUE="Eros Shop
Choice"> Eros Shop Choice
> <OPTION [selected free_sample Eros Bodyglide 1.5ml Sachet]
VALUE="Eros Bodyglide 1.5ml Sachet"> Eros Bodyglide 1.5ml Sachet
> <!-- truncated option list -->
> <OPTION [selected free_sample Happy Hour Rum Condom]
VALUE="Happy Hour Rum Condom"> Happy Hour Rum Condom
> EOF
> if ($Tag->total_cost({ noformat => 1}) >= 25.00) {
> $freeout .=<<'EOF';
> <OPTION [selected free_sample Night Light Glow-In-The-Dark
Condom] VALUE="Night Light Glow-In-The-Dark Condom"> Night Light
Glow-In-The-Dark Condom
> <OPTION [selected free_sample Global Protection Pleasure Plus
Condom] VALUE="Global Protection Pleasure Plus Condom"> Global Protection
Pleasure Plus Condom
> <!-- truncated option list -->
> <OPTION [selected free_sample Glyde Latex Dam - Wild Berry]
VALUE="Glyde Latex Dam - Wild Berry"> Glyde Latex Dam - Wild Berry
> EOF
> }
> if ($Tag->total_cost({ noformat => 1}) >= 40.00) {
> $freeout .=<<'EOF';
> <OPTION [selected free_sample Femidom] VALUE="Femidom"> Femidom
(Female Condom)
> <OPTION [selected free_sample Eros Shop Condom/Lube Case]
VALUE="Eros Shop Condom/Lube Case"> Eros Shop Condom/Lube Case
> EOF
> }
> $freeout .= <<'EOF';
> </SELECT><BR><BR><small><sup>**</sup>A selection of Free Samples is
available for all orders over £10.00. A Deluxe selection
is<BR>available for orders over £25.00 and a Super Deluxe selection
for orders over £40.00.</small>
> EOF
> }
> else {
> my $need_to_spend;
> $need_to_spend = 10.00 - $Tag->total_cost({ noformat => 1});
> $freeout .= "<INPUT TYPE=HIDDEN NAME=free_sample VALUE=''><BR><B>Spend ";
> $freeout .= sprintf("£%.2f", $need_to_spend);
> $freeout .= <<'EOF';
> more to qualify for an Eros Shop Free
Sample!</B><small><sup>**</sup></small>
> <BR><BR><small><sup>**</sup>A selection of Free Samples is available for
all orders over £10.00. A Deluxe selection is<BR>available for orders
over £25.00 and a Super Deluxe selection for orders over
£40.00.</small>
> EOF
> }
> return $freeout;
>
>
supercow.vwe.net egP8XQBC:vwe.net - [11/August/2005:09:00:28 +0000] eros
/cgi-bin/eros/process.html Safe: Can't locate object method "new" via
package "Vend::Parse" (perhaps you forgot to load "Vend::Parse"?) at
/usr/lib/interchange/lib/Vend/Interpolate.pm line 618.
>
>
> my $myout = '';
> if ( ($Tag->summary({ total => 1}) < 2000) && ($Tag->total_cost({
noformat => 1}) >6.99) && ($Scratch->{is_bad_shopping_cart} == 0)) {
> $myout = <<'EOF';
> <table align="center" cellpadding="0" cellspacing="0">
> <tr height="10><td height="10"></td></tr>
> <tr>
> <td align="center">
> [button
> name="mv_click"
> src="/eros/images/foundation/placeorder_button.gif"
> text="Place Order"
> hidetext=1
> form=checkout
> ]
> mv_todo=submit
> [/button]
> <br><BR>
> It may take a few moments to process your order.<BR>
> Be sure to click <B>Place Order</b> once only.
> </td>
> EOF
> }
> elsif ($Scratch->{is_bad_shopping_cart} > 0){
> $myout = <<'EOF';
> <table align="center" cellpadding="0" cellspacing="0">
> <tr height="10"><TD height="10"></td><td></TD>
> <TR>
> <td><img align="left" src="/eros/images/warning_icon.gif" border="0"></td>
> <td align=center><b><font color="#993333">You must remove all
Out-of-Stock items<BR>from your cart before you can checkout!</font></b></td>
> <tr height="10"><TD height="10"></td><td></TD>
> EOF
> }
> else {
> $myout = <<'EOF';
> <table align="center" cellpadding="0" cellspacing="0"><tr>
> <tr height="10"><TD height="10"></td><td></TD>
> <td><img align="left" src="/eros/images/warning_icon.gif" border="0"></td>
> <td align="center"><font color="#993333"><b>Not enough items in your
shopping cart!<BR>Minimum Order £7.00</font></b></td>
> <tr height="10"><TD height="10"></td><td></TD>
> EOF
> }
> return $myout;
>
>
>
Does anyone have any ideas what these ones might be as they do all appear
to be having the same kind of problem and the code is reasonably simple in
each case? I've truncated large <OPTION> lists to make the code shorter :)
Incidentally, can anyone explain what the difference between HIGH and RPC
modes are and why the [perl] tag behaviour is inconsistent when switching
modes?
Many thanks
Mark
Eros Shop
vwe internet ltd
PO BOX 1067
SLOUGH
SL1 7YA
UK
Shop - http://www.eros-shop.co.uk
EMail - info at eros-shop.co.uk
Tel - 0870 284 3369
Fax - 0870 284 4469
More information about the interchange-users
mailing list