View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003724 | OXID eShop (all versions) | 1.03. Basket, checkout process | public | 2012-03-14 21:54 | 2012-12-10 14:13 |
Reporter | Adrian.Kirchner | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 4.5.8 revision 42471 | ||||
Fixed in Version | 4.6.6 revision 54646 | ||||
Summary | 0003724: Buggy language handling in shipping mail | ||||
Description | There 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) | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Theme | Both | ||||
Browser | All | ||||
PHP Version | any | ||||
Database Version | any | ||||
related to | 0004619 | resolved | aurimas.gladutis | fnc oxemail::_getShop( $iLangId = null, $iShopId = null ) |
has duplicate | 0004260 | closed | jurate.baseviciene | Subject of "SendedNow" mail is never translated |
|
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. |