Hallo Oxid Forum,
ich möchte in Bestellungen verwalten -> Bestellungen den Ordner, der als Standard ausgewählt ist, von Neu auf alle ändern. Den Namen zu ändern ist kein Problem:
//$sFolder = $aNames[0];
$sFolder = $aNames[-1];
Jedoch ändert dies nicht die Sortierung, sondern nur den Ordnernamen, der oben angezeigt wird.
Hat jemand eine Idee?
Die Definition ist offenbar in application/controllers/admin/order_list.php
public function render()
{
parent::render();
$aFolders = $this->getConfig()->getConfigParam( 'aOrderfolder' );
$sFolder = oxConfig::getParameter( "folder" );
// first display new orders
if ( !$sFolder && is_array( $aFolders )) {
$aNames = array_keys( $aFolders );
$sFolder = $aNames[0];
}
$aSearch = array( 'oxorderarticles' => 'ARTID', 'oxpayments' => 'PAYMENT');
$sSearch = oxConfig::getParameter( "addsearch" );
$sSearchfld = oxConfig::getParameter( "addsearchfld" );
$this->_aViewData["folder"] = $sFolder ? $sFolder : -1;
$this->_aViewData["addsearchfld"] = $sSearchfld ? $sSearchfld : -1;
$this->_aViewData["asearch"] = $aSearch;
$this->_aViewData["addsearch"] = $sSearch;
$this->_aViewData["afolder"] = $aFolders;
return "order_list.tpl";
}
Genau, dies habe ich auch herausgefunden. Jedoch ändert dies nur den Namen, der angezeigt wird, die Bestellungen die angezeigt werden, sind trotzdem nur die aus dem Ordner neu.
Sicherlich nicht der schönste Weg, aber so klappt es.
public function getItemList()
{
if ( $this->_oList === null && $this->_sListClass ) {
$this->_oList = oxNew( $this->_sListType );
$this->_oList->clear();
$this->_oList->init( $this->_sListClass );
$aWhere = $this->buildWhere();
$oListObject = $this->_oList->getBaseObject();
oxSession::setVar( 'tabelle', $this->_sListClass );
$this->_aViewData['listTable'] = getViewName( $oListObject->getCoreTableName() );
$this->getConfig()->setGlobalParameter( 'ListCoreTable', $oListObject->getCoreTableName() );
if ( $oListObject->isMultilang() ) {
// is the object multilingual?
$oListObject->setLanguage( oxRegistry::getLang()->getBaseLanguage() );
if ( isset( $this->_blEmployMultilanguage ) ) {
$oListObject->setEnableMultilang( $this->_blEmployMultilanguage );
}
}
$sSql = $this->_buildSelectString( $oListObject );
$sSql = $this->_prepareWhereQuery( $aWhere, $sSql );
$sSql = $this->_prepareOrderByQuery( $sSql );
$sSql = $this->_changeselect( $sSql );
/* Anpassung */
if ( oxConfig::getParameter( 'folder' ) == NULL ) {
$sSql = str_replace("and ( oxorder.oxfolder = 'ORDERFOLDER_NEW' ) ", '', $sSql);
}
/* ++++++++++ */
// calculates count of list items
$this->_calcListItemsCount( $sSql );
// setting current list position (page)
$this->_setCurrentListPosition( oxConfig::getParameter( 'jumppage' ) );
// settting additioan params for list: current list size
$this->_oList->setSqlLimit( $this->_iCurrListPos, $this->_getViewListSize() );
$this->_oList->selectString( $sSql );
}
return $this->_oList;
}
Mit den Änderungen in order_list.php und oxadminlist.php funktioniert es jedenfalls einwandfrei. +++++