MatomoSiteIdViewHelper.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace Opentalent\OtStats\ViewHelpers;
  3. use Closure;
  4. use Opentalent\OtCore\Page\OtPageRepository;
  5. use Opentalent\OtStats\Settings\StatsSettingsRepository;
  6. use TYPO3\CMS\Core\Utility\GeneralUtility;
  7. use TYPO3\CMS\Extbase\Object\ObjectManager;
  8. use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
  9. use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
  10. /**
  11. * Returns the current site matomo's id if any, null else
  12. *
  13. * {namespace st=Opentalent\OtStats\ViewHelpers}
  14. *
  15. * {st:matomoSiteId(slug: 'foo')}
  16. *
  17. * @package Opentalent\OtTemplating\ViewHelpers
  18. */
  19. class MatomoSiteIdViewHelper extends AbstractViewHelper
  20. {
  21. /**
  22. * -- This method is expected by Fluid --
  23. * Renders the content as html
  24. *
  25. * @param array $arguments
  26. * @param Closure $renderChildrenClosure
  27. * @param RenderingContextInterface $renderingContext
  28. * @return int|null
  29. */
  30. public static function renderStatic(
  31. array $arguments,
  32. Closure $renderChildrenClosure,
  33. RenderingContextInterface $renderingContext
  34. ) {
  35. $otPageRepository = GeneralUtility::makeInstance(ObjectManager::class)->get(OtPageRepository::class);
  36. $rootPageUid = $otPageRepository->getCurrentSiteRootPageId();
  37. $statsSettingsRepository = GeneralUtility::makeInstance(ObjectManager::class)->get(StatsSettingsRepository::class);
  38. return $statsSettingsRepository->getMatomoSiteId($rootPageUid);
  39. }
  40. }