View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001988 | OXID eShop (all versions) | 1.03. Basket, checkout process | public | 2010-07-20 15:27 | 2012-12-10 13:23 |
Reporter | dominik_ziegler | Assigned To | |||
Priority | high | Severity | crash | Reproducibility | sometimes |
Status | resolved | Resolution | no change required | ||
Product Version | 4.4.0 revision 28699 | ||||
Fixed in Version | 4.4.1 revision 28950 | ||||
Summary | 0001988: Incomplete basket object on shop with same domain | ||||
Description | If you are running shop A and shop B on the same domain, the basket object gets crashed in shop B if oxBasket is overloaded via a module in shop A, which is not available in the shop B. PHP then crashes the whole shop with a Fatal error: oxcmp_basket::render(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "XXX_oxBasket" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in XXXXXXXXXXX/views/oxcmp_basket.php on line 84. XXX_oxBasket is the class name for the overloaded oxBasket in shop A which does not exist in shop B. The oxcmp_basket.php in the view directory is called from shop B. | ||||
Steps To Reproduce | - Install two shops on same domain in different directories. - Overload oxBaset in one shop with an own module. - Buy something in shop A (and visit the basket). - Navigate to shop B on the same domain and you get the fatal error. | ||||
Tags | Order | ||||
Theme | |||||
Browser | All | ||||
PHP Version | any | ||||
Database Version | any | ||||
related to | 0006202 | closed | florian.auer | unserializeing oxBasket thows fatal error when oxAtricle is exented |
|
Q: do you have mall? both shops are connected somehow? |
|
No, seperate installs. |
|
in this case you need: 1. open both shops config.inc.php file; 2. create parameter: $this->aCookiePaths["oxbaseshop"] = $path; $path value is (from php documentation): "... The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in. ..." 3. clean cookies and try to reproduce the problem. |
|
Okay, this solves the problem. :) |
|
not a bug |