source/Core/SeoEncoder.php
protected function _getDynamicUri($sStdUrl, $sSeoUrl, $iLang)
    {
        $iShopId = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId();

        $sStdUrl = $this->_trimUrl($sStdUrl);
        $sObjectId = $this->getDynamicObjectId($iShopId, $sStdUrl);
        $sSeoUrl = $this->_prepareUri($this->addLanguageParam($sSeoUrl, $iLang), $iLang);

        //load details link from DB
        $sOldSeoUrl = $this->_loadFromDb('dynamic', $sObjectId, $iLang);
        if ($sOldSeoUrl === $sSeoUrl) {
            $sSeoUrl = $sOldSeoUrl;
        } else {
            if ($sOldSeoUrl) {
                // old must be transferred to history
                $this->_copyToHistory($sObjectId, $iShopId, $iLang, 'dynamic');
            }

            // creating unique
            $sSeoUrl = $this->_processSeoUrl($sSeoUrl, $sObjectId, $iLang);

            // inserting
            $this->_saveToDb('dynamic', $sObjectId, $sStdUrl, $sSeoUrl, $iLang, $iShopId);
        }

        return $sSeoUrl;
    }
protected function _getDynamicUri($sStdUrl, $sSeoUrl, $iLang)
    {
        $iShopId = \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId();

        $sStdUrl = $this->_trimUrl($sStdUrl);
        $sObjectId = $this->getDynamicObjectId($iShopId, $sStdUrl);
        $sSeoUrl = $this->_prepareUri($this->addLanguageParam($sSeoUrl, $iLang), $iLang);

        //load details link from DB
        $sOldSeoUrl = $this->_loadFromDb('dynamic', $sObjectId, $iLang);
        if ($sOldSeoUrl === $sSeoUrl) {
            $sSeoUrl = $sOldSeoUrl;
        } else {
            if ($sOldSeoUrl) {
                // old must be transferred to history
                $this->_copyToHistory($sObjectId, $iShopId, $iLang, 'dynamic');
            }

            // creating unique
            $sSeoUrl = $this->_processSeoUrl($sSeoUrl, $sObjectId, $iLang);

            // inserting
            $this->_saveToDb('dynamic', $sObjectId, $sStdUrl, $sSeoUrl, $iLang, $iShopId);
        }

        return $sSeoUrl;
    }
protected function _getDynamicUri ( $ sStdUrl , $ sSeoUrl , $ iLang ) { $ iShopId = \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) -> getShopId ( ) ; $ sStdUrl = $ this -> _trimUrl ( $ sStdUrl ) ; $ sObjectId = $ this -> getDynamicObjectId ( $ iShopId , $ sStdUrl ) ; $ sSeoUrl = $ this -> _prepareUri ( $ this -> addLanguageParam ( $ sSeoUrl , $ iLang ) , $ iLang ) ; //load details link from DB $ sOldSeoUrl = $ this -> _loadFromDb ( 'dynamic' , $ sObjectId , $ iLang ) ; if ( $ sOldSeoUrl === $ sSeoUrl ) { $ sSeoUrl = $ sOldSeoUrl ; } else { if ( $ sOldSeoUrl ) { // old must be transferred to history $ this -> _copyToHistory ( $ sObjectId , $ iShopId , $ iLang , 'dynamic' ) ; } // creating unique $ sSeoUrl = $ this -> _processSeoUrl ( $ sSeoUrl , $ sObjectId , $ iLang ) ; // inserting $ this -> _saveToDb ( 'dynamic' , $ sObjectId , $ sStdUrl , $ sSeoUrl , $ iLang , $ iShopId ) ; } return $ sSeoUrl ; }
Returns dynamic object SEO URI

@param string $sStdUrl standard url
@param string $sSeoUrl seo uri
@param int    $iLang   active language

@return string
Returns dynamic object SEO URI