/** * Deletes the seo attribute identified by the given language and page * * @param int $languageId * @param int $pageId * @return boolean * * @api */ public function deleteSeoAttributesFromLanguage($languageId, $pageId) { $alSeo = $this->seoRepository->fromPageAndLanguage($languageId, $pageId); // Occours when the attributes has been already removed if (null === $alSeo) { return true; } $this->set($alSeo); $result = $this->delete(); $this->set(null); return $result; }
/** * {@inheritdoc} */ public function buildInternalUrl($language, $page) { try { $language = $this->fetchLanguage($language); $page = $this->fetchPage($page); $seo = $this->seoRepository->fromPageAndLanguage($language->getId(), $page->getId()); if (null !== $seo) { $this->permalink = $seo->getPermalink(); $this->internalUrl = $this->generateDefaultUrlTokens() . $this->permalink; $this->productionRoute = $this->generateRoute($language, $page); } } catch (\Exception $ex) { $this->error = $ex->getMessage(); } return $this; }