/** * Add page content to the index document * * @param NodeTranslation $nodeTranslation * @param HasNodeInterface $page * @param array $doc * * @return array */ protected function addPageContent(NodeTranslation $nodeTranslation, $page, &$doc) { $this->enterRequestScope($nodeTranslation->getLang()); if ($this->logger) { $this->logger->debug(sprintf('Indexing page "%s" / lang : %s / type : %s / id : %d / node id : %d', $page->getTitle(), $nodeTranslation->getLang(), get_class($page), $page->getId(), $nodeTranslation->getNode()->getId())); } $renderer = $this->container->get('templating'); $doc['content'] = ''; if ($page instanceof SearchViewTemplateInterface) { $doc['content'] = $this->renderCustomSearchView($nodeTranslation, $page, $renderer); return; } if ($page instanceof HasPagePartsInterface) { $doc['content'] = $this->renderDefaultSearchView($nodeTranslation, $page, $renderer); return; } }
private function createTranslationNode(Node $rootNode, $language, HasNodeInterface $page) { $translationNode = new NodeTranslation(); $translationNode->setNode($rootNode)->setLang($language)->setTitle($page->getTitle())->setOnline(false)->setWeight(0); return $translationNode; }