View Issue Details

IDProjectCategoryView StatusLast Update
0002839OXID eShop (all versions)2.3. Extensions (modules, themes)public2012-12-10 13:33
Reporterrrosendahl 
PrioritylowSeveritytrivialReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.5.0 revision 34568 
Target VersionFixed in Version4.6.0_beta2 
Summary0002839: basket item links to details page
DescriptionThe 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 ;-)
TagsNo tags attached.
Theme
BrowserAll
PHP Versionany
Database Versionany

Activities

rrosendahl

2011-05-05 18:05

reporter   ~0004488

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.

birute_meilutyte

2011-05-12 15:42

reporter   ~0004562

@developers: check from source code side, if mentioned problems still exist.