Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DefaultController extends WebsiteController
- {
- public function indexAction(StructureInterface $structure, $preview = false, $partial = false)
- {
- $document = $this->loadDocument('/test', $structure->getLanguageCode(), $structure->getWebspaceKey());
- return $this->renderStructure(
- $structure,
- [
- 'page' => $this->resolve($this->documentToStructure($document)),
- ],
- $preview,
- $partial
- );
- }
- protected function loadDocument($url, $locale, $webspaceKey)
- {
- $resourceLocatorStrategyPool = $this->get('sulu.content.resource_locator.strategy_pool');
- $resourceLocatorStrategy = $resourceLocatorStrategyPool->getStrategyByWebspaceKey($webspaceKey);
- $document = $this->get('sulu_document_manager.document_manager')->find(
- $resourceLocatorStrategy->loadByResourceLocator(
- rtrim($resourceLocator, '/'),
- $webspaceKey,
- $locale
- ),
- $locale,
- [
- 'load_ghost_content' => false,
- ]
- );
- }
- protected function documentToStructure(BasePageDocument $document)
- {
- $inspector = $this->get('sulu_document_manager.document_inspector');
- $structure = $inspector->getStructureMetadata($document);
- $documentAlias = $inspector->getMetadata($document)->getAlias();
- $structureManager = $this->get('sulu.content.structure_manager');
- $structureBridge = $structureManager->wrapStructure($documentAlias, $structure);
- $structureBridge->setDocument($document);
- return $structureBridge;
- }
- protected function resolve(StructureInterface $structure)
- {
- return $this->get('sulu_website.resolver.structure')->resolve($structure);
- }
- }
Add Comment
Please, Sign In to add comment