コード例 #1
0
 /**
  * Returns part of SEO url excluding path
  *
  * @param oxVendor $oVendor      vendor object
  * @param int      $iLang        language
  * @param bool     $blRegenerate if TRUE forces seo url regeneration
  *
  * @return string
  */
 public function getVendorUri($oVendor, $iLang = null, $blRegenerate = false)
 {
     if (!isset($iLang)) {
         $iLang = $oVendor->getLanguage();
     }
     // load from db
     if ($blRegenerate || !($sSeoUrl = $this->_loadFromDb('oxvendor', $oVendor->getId(), $iLang))) {
         if ($iLang != $oVendor->getLanguage()) {
             $sId = $oVendor->getId();
             $oVendor = oxNew('oxvendor');
             $oVendor->loadInLang($iLang, $sId);
         }
         $sSeoUrl = '';
         if ($oVendor->getId() != 'root') {
             if (!isset($this->_aRootVendorUri[$iLang])) {
                 $oRootVendor = oxNew('oxvendor');
                 $oRootVendor->loadInLang($iLang, 'root');
                 $this->_aRootVendorUri[$iLang] = $this->getVendorUri($oRootVendor, $iLang);
             }
             $sSeoUrl .= $this->_aRootVendorUri[$iLang];
         }
         $sSeoUrl .= $this->_prepareTitle($oVendor->oxvendor__oxtitle->value, false, $oVendor->getLanguage()) . '/';
         $sSeoUrl = $this->_processSeoUrl($sSeoUrl, $oVendor->getId(), $iLang);
         // save to db
         $this->_saveToDb('oxvendor', $oVendor->getId(), $oVendor->getBaseStdLink($iLang), $sSeoUrl, $iLang);
     }
     return $sSeoUrl;
 }
コード例 #2
0
 /**
  * Deletes Vendor seo entry
  *
  * @param oxVendor $vendor Vendor object
  */
 public function onDeleteVendor($vendor)
 {
     $database = oxDb::getDb();
     $vendorId = $vendor->getId();
     $database->execute("delete from oxseo where oxobjectid = ? and oxtype = 'oxvendor'", array($vendorId));
     $database->execute("delete from oxobject2seodata where oxobjectid = ?", array($vendorId));
     $database->execute("delete from oxseohistory where oxobjectid = ?", array($vendorId));
 }