TemplateRepository.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Opentalent\OtTemplating\Templating;
  3. use Opentalent\OtCore\Page\OtPageRepository;
  4. use TYPO3\CMS\Core\Utility\GeneralUtility;
  5. /**
  6. * Class TemplateRepository
  7. * Provides methods to retrieve data about the current site's template
  8. *
  9. * @package Opentalent\OtCore\Templating
  10. */
  11. class TemplateRepository
  12. {
  13. CONST templates = [
  14. 'Classic' => [
  15. 'name' => 'Classique',
  16. 'description' => "Le thème classique, simple et complet. C'est le thème par défaut.",
  17. 'picture' => 'EXT:ot_templating/Resources/Public/media/theme_classic.png'
  18. ],
  19. 'Modern' => [
  20. 'name' => 'Moderne',
  21. 'description' => '[Nouveauté 2020] Un thème moderne et intuitif.',
  22. 'picture' => 'EXT:ot_templating/Resources/Public/media/theme_modern.png'
  23. ]
  24. ];
  25. CONST defaultTemplate = 'Classic';
  26. CONST defaultPreferences = [
  27. 'themeColor' => 'lightblue',
  28. 'displayCarousel' => '1'
  29. ];
  30. /**
  31. * Returns the current site template's name
  32. * @return string
  33. */
  34. public function getCurrentTemplate() {
  35. $pageRepository = GeneralUtility::makeInstance(OtPageRepository::class);
  36. $rootPageUid = $pageRepository->getCurrentSiteRootPageId();
  37. if (!($rootPageUid >= 0)) {
  38. return self::defaultTemplate;
  39. }
  40. $rootPage = $pageRepository->getPage($rootPageUid);
  41. $templateName = $rootPage['tx_opentalent_template'];
  42. if ($templateName==='') {
  43. return self::defaultTemplate;
  44. }
  45. return $templateName;
  46. }
  47. /**
  48. * Returns the current site template's name
  49. * @return array
  50. */
  51. public function getTemplatePreferences() {
  52. $pageRepository = GeneralUtility::makeInstance(OtPageRepository::class);
  53. $rootPageUid = $pageRepository->getCurrentSiteRootPageId();
  54. if (!($rootPageUid >= 0)) {
  55. return [];
  56. }
  57. $rootPage = $pageRepository->getPage($rootPageUid);
  58. $templatePreferences = $rootPage['tx_opentalent_template_preferences'];
  59. if ($templatePreferences==='') {
  60. return self::defaultPreferences;
  61. }
  62. return json_decode($templatePreferences, true);
  63. }
  64. }