GetPreferencesViewHelper.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Opentalent\OtTemplating\ViewHelpers\Template;
  3. use Closure;
  4. use Opentalent\OtCore\Exception\NoSuchWebsiteException;
  5. use Opentalent\OtCore\Website\OtPageRepository;
  6. use Opentalent\OtCore\ViewHelpers\OtAbstractViewHelper;
  7. use Opentalent\OtCore\Website\OtWebsiteRepository;
  8. use Opentalent\OtTemplating\Templating\TemplateRepository;
  9. use TYPO3\CMS\Core\Utility\GeneralUtility;
  10. use TYPO3\CMS\Extbase\Object\ObjectManager;
  11. use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
  12. /**
  13. * Returns the recorded preferences
  14. *
  15. * {namespace ot=Opentalent\OtTemplating\ViewHelpers}
  16. *
  17. * {ot:template.preferences()}
  18. *
  19. * @package Opentalent\OtTemplating\ViewHelpers\Template
  20. */
  21. class GetPreferencesViewHelper extends OtAbstractViewHelper
  22. {
  23. public function __construct(
  24. private readonly OtWebsiteRepository $otWebsiteRepository,
  25. private readonly TemplateRepository $templateRepository,
  26. ) {}
  27. /**
  28. * -- This method is expected by Fluid --
  29. * Renders the content as html
  30. *
  31. * @return array
  32. * @throws NoSuchWebsiteException
  33. */
  34. public function render(): array
  35. {
  36. $website = $this->otWebsiteRepository->getCurrentWebsiteFromFEGlobals();
  37. return $this->templateRepository->getTemplatePreferences($website);
  38. }
  39. }