public function GetActiveOrderByString($sDefaultActiveShopModuleArticlelistOrderbyId = null, $sInstanceId = '')
    {
        static $oOrderBy = null;
        if (is_null($oOrderBy)) {
            // remove default order by - for performance reason we should be allowed to sort by nothing
            $sOrder = ''; //`shop_article`.`list_rank` DESC, `shop_article`.`name` ASC';
            $iActiveShopModuleArticlelistOrderbyId = $this->GetActiveShopModuleArticlelistOrderbyId($sInstanceId);
            if (is_null($iActiveShopModuleArticlelistOrderbyId)) {
                $iActiveShopModuleArticlelistOrderbyId = $sDefaultActiveShopModuleArticlelistOrderbyId;
            }

            if (!is_null($iActiveShopModuleArticlelistOrderbyId)) {
                $oOrderBy = TdbShopModuleArticlelistOrderby::GetNewInstance();
                /** @var $oOrderBy TdbShopModuleArticlelistOrderby */
                if (!$oOrderBy->Load($iActiveShopModuleArticlelistOrderbyId)) {
                    $oOrderBy = null;
                }
            }
            if (is_null($oOrderBy)) {
                $oShop = TdbShop::GetInstance();
                $oOrderBy = &$oShop->GetFieldShopModuleArticlelistOrderby();
            }
            if (!is_null($oOrderBy)) {
                $sOrder = $oOrderBy->GetOrderByString();
                $_SESSION[self::SESSION_ACTIVE_ORDER_BY.$sInstanceId] = $iActiveShopModuleArticlelistOrderbyId;
            }
        } else {
            $sOrder = $oOrderBy->GetOrderByString();
        }

        return $sOrder;
    }