View Issue Details

IDProjectCategoryView StatusLast Update
0003724OXID eShop (all versions)1.03. Basket, checkout processpublic2012-12-10 14:13
ReporterAdrian.Kirchner 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.5.8 revision 42471 
Target VersionFixed in Version4.6.6 revision 54646 
Summary0003724: Buggy language handling in shipping mail
DescriptionThere are two language related problems with this the shipping mail.

#1: Subject is always in the language selected for editing in admin backend instead of the order language.

#2: Because for this mail the admin language file(s) are considered, sending a shipping mail for an english order when logged in to the backend in german will cause many "missing ident" errors if the language cache files for english aren't built. This only happens if you're using custom language idents.
Steps To Reproduce#1 is easy to reproduce
- finish an order with english selected in the frontend
- authenticate to the admin backend in german
- select the order and trigger the shipping mail
= subject of this mail will be in german instead of english

#2
- add a language ident in a custom language file in out/admin/en/ (cust_lang.php will work too for this to reproduce)
- place this new ident in your shipping mail html template
- finish an order with english selected in the frontend
- empty the tmp directory
- authenticate to the admin backend in german
- select the order and trigger the shipping mail
= the custom language ident won't be translated and you will see the ident name instead. The only way to get this working is to make sure the english admin language file cache is built (by logging into the backend with english selected) or to add the new ident to the lang.php. Both solutions aren't acceptable.
Additional Information#1 the problem here is that the shop instance isn't loaded in the target language (see http://docu.oxid-esales.com/CE/sourcecodedocumentation/4.5.8.42471/oxemail_8php_source.html#l00996). If you do a $this->setShop(null) before the linked line the correct subject is determined.

#2 It seems that the language cache builder for another language than the current selected language only considers the lang.php file. So any other lang files are ignored if the cache is built by this oxEmail::sendSendedNowMail() (introduced here: http://docu.oxid-esales.com/CE/sourcecodedocumentation/4.5.8.42471/oxemail_8php_source.html#l01019)
TagsNo tags attached.
ThemeBoth
BrowserAll
PHP Versionany
Database Versionany

Relationships

related to 0004619 resolvedaurimas.gladutis fnc oxemail::_getShop( $iLangId = null, $iShopId = null ) 
has duplicate 0004260 closedjurate.baseviciene Subject of "SendedNow" mail is never translated 

Activities

Adrian.Kirchner

2012-03-14 21:54

reporter  

mail_screen.png (47,811 bytes)
mail_screen.png (47,811 bytes)

aurimas.gladutis

2012-11-29 10:46

reporter   ~0008026

Hi, 1# was fixed with 0004619, #2 could not reproduce anymore. If you still have problems with caching, please give us some more details how to reproduce it, as given steps gives correct results.