GetSrcByIdViewHelper.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace Opentalent\OtTemplating\ViewHelpers\Image;
  3. use Opentalent\OtCore\Service\OpentalentImageService;
  4. use Opentalent\OtCore\ViewHelpers\OtAbstractViewHelper;
  5. /**
  6. * Returns the url of the requested image
  7. *
  8. * {namespace ot=Opentalent\OtTemplating\ViewHelpers}
  9. *
  10. * {ot:getImageUrl(fileId: 123, size: 'md')}
  11. *
  12. * @see ot_core/Classes/Service/OpentalentImageService.php
  13. * @package Opentalent\OtTemplating\ViewHelpers
  14. */
  15. class GetSrcByIdViewHelper extends OtAbstractViewHelper
  16. {
  17. public OpentalentImageService $opentalentImageService;
  18. /**
  19. * @param OpentalentImageService $opentalentImageService
  20. * @return void
  21. */
  22. public function injectOpentalentImageService(OpentalentImageService $opentalentImageService)
  23. {
  24. $this->opentalentImageService = $opentalentImageService;
  25. }
  26. /**
  27. * -- This method is expected by Fluid --
  28. * Declares the viewhelper's parameters
  29. */
  30. public function initializeArguments()
  31. {
  32. $this->registerArgument(
  33. 'fileId',
  34. 'int',
  35. 'The id of the File object',
  36. true
  37. );
  38. $this->registerArgument(
  39. 'size',
  40. 'string',
  41. 'The expected size (sm, md, or lg)',
  42. false,
  43. 'md'
  44. );
  45. }
  46. /**
  47. * -- This method is expected by Fluid --
  48. * Renders the content as html
  49. *
  50. * @return string Rendered tag
  51. */
  52. public function render() {
  53. $fileId = $this->arguments['fileId'];
  54. $size = $this->arguments['size'];
  55. return $this->opentalentImageService->getImageUrl($fileId, $size);
  56. }
  57. }