Пример #1
0
 public function updateCache($item, $arrTerms, $strContent)
 {
     preg_match_all('#' . implode('|', $arrTerms['both']) . '#is', $strContent, $matches);
     $matches = array_unique($matches[0]);
     if (empty($matches)) {
         return;
     }
     $News = \NewsModel::findByAlias($item);
     $News->glossar = implode('|', $matches);
     $News->save();
 }
 /**
  * generateFrontendUrl Hook
  * checks if the parameter for the generated URL is a news alias and rewrites the URL without its page alias
  * @param array page data
  * @param string URL parameters
  * @param string current URL
  */
 public function generateFrontendUrl($arrRow, $strParams, $strUrl)
 {
     // no params, no action
     if (!$strParams) {
         return $strUrl;
     }
     // check if param is a news alias
     if (($objNews = \NewsModel::findByAlias(ltrim($strParams, '/'))) !== null) {
         // build url using only the news alias
         $strUrl = self::buildUrl($arrRow, $objNews->alias);
     }
     // return the url
     return $strUrl;
 }
Пример #3
0
 /**
  * Check the news alias for duplicates
  *
  * @param mixed         $varValue
  * @param DataContainer $dc
  *
  * @return string
  *
  * @throws Exception
  */
 public function checkAlias($varValue, DataContainer $dc)
 {
     // check if there is a news article with the same alias
     if (($objNews = \NewsModel::findByAlias($varValue)) !== null) {
         // get the redirect page
         if (($objTarget = \PageModel::findWithDetails($objNews->getRelated('pid')->jumpTo)) !== null) {
             // get the page
             $objPage = \PageModel::findWithDetails($dc->id);
             // check if page is on the same domain and language
             if ($objPage->domain == $objTarget->domain && (\Config::get('addLanguageToUrl') && $objPage->rootLanguage == $objTarget->rootLanguage)) {
                 // append id
                 $varValue .= '-' . $dc->id;
             }
         }
     }
     // return the alias
     return $varValue;
 }
 protected function compile()
 {
     $objNews = \NewsModel::findByAlias(\Input::get('items'));
     $this->Template->code = $objNews->vgwort_code;
 }