24         $this->_oTagSet = 
oxNew(
'oxTagSet');
 
   34         $this->
setId($sArticleId);
 
   44         return $this->
getId();
 
   64     public function load($sArticleId)
 
   69         $sQ = 
"select oxtags from {$sViewName} where oxid = " . $oDb->quote($sArticleId);
 
   73         $aTags = explode($this->
get()->getSeparator(), $oDb->getOne($sQ));
 
   74         foreach ($aTags as $sTag) {
 
   75             $oTag = 
oxNew(
"oxtag");
 
   76             $oTag->set($sTag, 
false);
 
   77             $oTag->removeUnderscores();
 
   81         return $this->_isLoaded = 
true;
 
   93         if ($sArticleId === null && ($sArticleId = $this->
getArticleId()) === null) {
 
   97         return $this->
load($sArticleId);
 
  110         $oTagSet = $this->
get();
 
  111         foreach ($oTagSet as $oTag) {
 
  112             $oTag->addUnderscores();
 
  117         $sTable = getLangTableName(
'oxartextends', $this->
getLanguage());
 
  120         $sQ = 
"insert into {$sTable} (oxid, oxtags$sLangSuffix) value (" . $oDb->quote($this->
getArticleId()) . 
", '{$sTags}') 
  121                on duplicate key update oxtags$sLangSuffix = '{$sTags}'";
 
  123         if ($oDb->execute($sQ)) {
 
  140     public function set($sTags)
 
  142         return $this->_oTagSet->set($sTags);
 
  150     public function get()
 
  162         return $this->_oTagSet->get();
 
  174         return $this->_oTagSet->addTag($mTag);
 
  188         return $sStdTagLink . 
"cl=details&anid=" . $this->
getId() . 
"&listtype=tag&searchtag=" . rawurlencode($sTag);
 
  201         if (isset($aProducts) && $aTags = $aProducts[$this->
getArticleId()]) {
 
  202             if ($aTags[$sTagTitle] == 1) {
 
  225         $oTagList = 
oxNew(
"oxTagList");
 
  227         $oTagCloud = 
oxNew(
"oxTagCloud");
 
  228         $oTagCloud->setTagList($oTagList);
 
  229         $oTagCloud->resetCache();