View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002839||OXID eShop (all versions)||2.3. Extensions (modules, themes)||public||2011-05-05 14:51||2012-12-10 13:33|
|Product Version||4.5.0 revision 34568|
|Target Version||Fixed in Version||4.6.0_beta2|
|Summary||0002839: basket item links to details page|
|Description||The product links in the basket view (and order view) are taken from the basket product instead of the basket item: $basketproduct->getLink()|
Please change this in the default templates (basic and azure) to call $basketitem->getLink(). The oxBasketItem class has its own getLink() method, so this won't break any backwards compatibility. The advantage is that you can then overload the getLink() method in oxBasketItem, e.g. to append additional params to the url.
This is nothing critical or urgent, of course, but it will help module developers build modules with as few template changes as possible ;-)
|Tags||No tags attached.|
I just noticed: this will cause problems because of a bug: the getLink() method in the oxbasketitem class returns the property $this->_sLink, which is set in the _setArticle() method and serialized into the session.
This means that a link including force_sid will be serialized - and then loaded. The shop switches the session id before the order step, which results in a link with a bad session id still being stored in the basket items. Using the getLink() method of the basket items will thus kill your session.
This is actually a bug in the getLink() method of oxBasketItem. You will need to set the $this->_sLink property without a session id (or with the placeholder also used in content caching) and then let the getLink() method append or replace the current session id.
||@developers: check from source code side, if mentioned problems still exist.|