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; }
/** * 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; }