View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001069 | OXID eShop (all versions) | 1.01. Products (product, categories, manufacturer, promotions etc.) | public | 2009-07-04 09:43 | 2012-12-07 14:25 |
Reporter | marco_steinhaeuser | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 4.1.3 revision 19918 | ||||
Fixed in Version | 4.1.4 revision 21266 | ||||
Summary | 0001069: Selection lists are inherited from father articel although they are not assigned to the variant | ||||
Description | Assign a selection list to the father article. It will be inherited to the variant article. Editing the variant article, there is no selection list assigned to it. See screenshots attached | ||||
Additional Information | gathered here: http://www.oxid-esales.com/forum/showthread.php?t=1647 | ||||
Tags | Selection List | ||||
Attached Files | |||||
Theme | |||||
Browser | All | ||||
PHP Version | 5.2.6 | ||||
Database Version | 5.0.33 | ||||
|
Assigning another selection list, the first list is deleted from the variant and the new list appears as this one is inherited. Clearing the entries, the empty selection field still appears in the front end. |
|
fixed by module: oxarticle => datame/datame_modul_oxarticleVariantlistNoInherit ######################### <? class datame_modul_oxarticleVariantlistNoInherit extends datame_modul_oxarticleVariantlistNoInherit_parent{ /** * Diese Methode ist eine 1:1 Kopie der Elternklasse (oxarticle::getSelectLists()). * Hier wurde implementiert, dass die Slave-Artikel nicht die Selectlist des Masters (falls Slave keine Selectlist hat) erbt. * => Siehe auskommentierte Zeilen #1104S ff. */ public function getSelectLists($sKeyPrefix = null) { //#1468C - more then one article in basket with different selectlist... //optionall function parameter $sKeyPrefix added, used only in basket.php $sKey = $this->getId(); if ( isset( $sKeyPrefix ) ) { $sKey = $sKeyPrefix.'__'.$this->getId(); } if ( self::$_aSelList[$sKey]) { return self::$_aSelList[$sKey]; } // all selectlists this article has $oLists = oxNew( 'oxlist' ); $oLists->init('oxselectlist'); $sSLViewName = getViewName('oxselectlist'); $sSelect = "select $sSLViewName.* from oxobject2selectlist left join $sSLViewName on $sSLViewName.oxid=oxobject2selectlist.oxselnid "; $sSelect .= 'where oxobject2selectlist.oxobjectid=\''.$this->getId().'\' '; //sorting $sSelect .= ' order by oxobject2selectlist.oxsort'; $oLists->selectString( $sSelect ); // //#1104S if this is variant ant it has no selectlists, trying with parent // if ( $this->oxarticles__oxparentid->value && $oLists->count() == 0 ) { // //#1496C - select fixed ( * => $sSLViewName.*) // $sSelect = "select $sSLViewName.* from oxobject2selectlist left join $sSLViewName on $sSLViewName.oxid=oxobject2selectlist.oxselnid "; // $sSelect .= "where oxobject2selectlist.oxobjectid='{$this->oxarticles__oxparentid->value}' "; // //sorting // $sSelect .= ' order by oxobject2selectlist.oxsort'; // $oLists->selectString( $sSelect); // } $dVat = 0; if ( $this->getPrice() != null ) { $dVat = $this->getPrice()->getVat(); } $iCnt = 0; self::$_aSelList[$sKey] = array(); foreach ( $oLists as $oSelectlist ) { self::$_aSelList[$sKey][$iCnt] = $oSelectlist->getFieldList( $dVat ); self::$_aSelList[$sKey][$iCnt]['name'] = $oSelectlist->oxselectlist__oxtitle->value; $iCnt++; } return self::$_aSelList[$sKey]; } } |
|
This module doesn't solve this bug entry, it just removes other fix. |
|
If variant has no selectlists, It will be inherited from parent article and displayed in frontend or admin. If some selectionlist will be assigned to variant, only this selectionlist will be displayed, the selection from parent article not. |