/** * Loads if exists or prepares and saves new seo url for passed object * * @param oxbase $oObject object to prepare seo data * @param string $sType type of object (oxvendor/oxcategory) * @param string $sStdUrl stanradr url * @param string $sSeoUrl seo uri * @param string $sParams additional params, liek page number etc. mostly used by mysql for indexes * @param int $iLang language * @param bool $blFixed fixed url marker (default is false) * * @return string */ protected function _getPageUri($oObject, $sType, $sStdUrl, $sSeoUrl, $sParams, $iLang = null, $blFixed = false) { if (!isset($iLang)) { $iLang = $oObject->getLanguage(); } $iShopId = $this->getConfig()->getShopId(); //load page link from DB $sOldSeoUrl = $this->_loadFromDb($sType, $oObject->getId(), $iLang, $iShopId, $sParams); if (!$sOldSeoUrl) { // generating new.. $sSeoUrl = $this->_processSeoUrl($sSeoUrl, $oObject->getId(), $iLang); $this->_saveToDb($sType, $oObject->getId(), $sStdUrl, $sSeoUrl, $iLang, $iShopId, (int) $blFixed, $sParams); } else { // using old $sSeoUrl = $sOldSeoUrl; } return $sSeoUrl; }