[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".