[ic] Localization causes misbehavior of basket? - additional info
Mike Heins
mikeh@minivend.com
Sun, 26 Nov 2000 03:05:26 -0500
Quoting Ton Verhagen (ton@verhagen.net):
> It seems that changing the locale (entering the shop with a url: eg
> ....process/locale/nl_NL/page/index) won't update array @Vend::Productbase.
> This array will always contain the initial values set in catalog.cfg (eg
> ProductFile products nl_products). However, $Config->{ProductFiles} will
> get updated when locale gets changed.
>
> The result of the above behaviour is:
> 1. Searches will perform okay --> results come from the related products
> table ('products' for default, 'nl_products' for nl_NL)
> 2. When ordering an item, the info will come from the initial setting, not
> the locale related table.
> When locale is set to nl_NL, all info in searches etc will show Dutch text.
> When a product is ordered, basket will show info in English (mv_ib has
> value 'products' instead of 'nl_products').
Got it. A workaround is to define a globalsub for Autoload on each
locale:
Locale nl_NL Autoload update_pbase
Locale fr_FR Autoload update_pbase
GlobalSub <<EOS
sub update_pbase {
Vend::Data::update_productbase();
return;
}
EOS
That should get 90% of it, but I have also put fixes in both the stable
and development CVS. They should make 4.6.1, which is imninent.
Thanks for doing the work to find this, Ton. Your list of credits in the
code is mounting...8-)
--
Akopia, Inc., 131 Willow Lane, Floor 2, Oxford, OH 45056
phone +1.513.523.7621 fax 7501 <heins@akopia.com>
I have a cop friend who thinks he ought be able to give a new ticket;
"too dumb for conditions".