public function GetTranslatedPageURL()
    {
        $sTranslatesPageURL = '';
        $this->TargetLanguageSimulation(true);

        // product page
        $oActiveProduct = TdbShop::GetActiveItem();
        if (is_object($oActiveProduct)) {
            $oNewProduct = TdbShopArticle::GetNewInstance($oActiveProduct->id, $this->id);
            $oActiveProductCategory = TdbShop::GetActiveCategory();

            $sCatId = null;
            if (is_object($oActiveProductCategory)) {
                $sCatId = $oActiveProductCategory->id;
            }
            $sTranslatesPageURL = $oNewProduct->GetDetailLink(true, $sCatId);
        }

        // category page?
        if (empty($sTranslatesPageURL)) {
            $oActiveProductCategory = TdbShop::GetActiveCategory();
            if (is_object($oActiveProductCategory)) {
                $oNewProductCategory = TdbShopCategory::GetNewInstance($oActiveProductCategory->id, $this->id);
                $sTranslatesPageURL = $oNewProductCategory->GetLink(true);
            }
        }

        $this->TargetLanguageSimulation(false);

        // shop basket wizard?
        if (empty($sTranslatesPageURL)) {
            $oGlobal = TGlobal::instance();
            $sStepName = $oGlobal->GetUserData(MTShopOrderWizardCore::URL_PARAM_STEP_SYSTEM_NAME);
            if (!empty($sStepName)) {
                $oActiveStep = TdbShopOrderStep::GetStep($sStepName);
                $sTranslatesPageURL = $this->getOrderStepPageService()->getLinkToOrderStepPageAbsolute($oActiveStep, array(), null, $this);
            }
        }

        if (empty($sTranslatesPageURL)) {
            $sTranslatesPageURL = parent::GetTranslatedPageURL();
        }

        return $sTranslatesPageURL;
    }