Guest User

Untitled

a guest
Oct 21st, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. class DefaultController extends WebsiteController
  2. {
  3. public function indexAction(StructureInterface $structure, $preview = false, $partial = false)
  4. {
  5. $document = $this->loadDocument('/test', $structure->getLanguageCode(), $structure->getWebspaceKey());
  6.  
  7. return $this->renderStructure(
  8. $structure,
  9. [
  10. 'page' => $this->resolve($this->documentToStructure($document)),
  11. ],
  12. $preview,
  13. $partial
  14. );
  15. }
  16.  
  17. protected function loadDocument($url, $locale, $webspaceKey)
  18. {
  19. $resourceLocatorStrategyPool = $this->get('sulu.content.resource_locator.strategy_pool');
  20. $resourceLocatorStrategy = $resourceLocatorStrategyPool->getStrategyByWebspaceKey($webspaceKey);
  21.  
  22. $document = $this->get('sulu_document_manager.document_manager')->find(
  23. $resourceLocatorStrategy->loadByResourceLocator(
  24. rtrim($resourceLocator, '/'),
  25. $webspaceKey,
  26. $locale
  27. ),
  28. $locale,
  29. [
  30. 'load_ghost_content' => false,
  31. ]
  32. );
  33. }
  34.  
  35. protected function documentToStructure(BasePageDocument $document)
  36. {
  37. $inspector = $this->get('sulu_document_manager.document_inspector');
  38. $structure = $inspector->getStructureMetadata($document);
  39. $documentAlias = $inspector->getMetadata($document)->getAlias();
  40.  
  41. $structureManager = $this->get('sulu.content.structure_manager');
  42. $structureBridge = $structureManager->wrapStructure($documentAlias, $structure);
  43. $structureBridge->setDocument($document);
  44.  
  45. return $structureBridge;
  46. }
  47.  
  48. protected function resolve(StructureInterface $structure)
  49. {
  50. return $this->get('sulu_website.resolver.structure')->resolve($structure);
  51. }
  52. }
Add Comment
Please, Sign In to add comment