<?php

namespace Uhura\Grossmarkt\ViewHelpers;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder;
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;

/**
 * Class GenerateVerticalMapDealerLinkViewHelper
 */
class GenerateVerticalMapDealerLinkViewHelper extends AbstractViewHelper
{

    public function initializeArguments(): void
    {
        $this->registerArgument('pageType', 'string', 'page Type', true);
        $this->registerArgument('pageUid', 'string', 'Page uid to link generate', true);
        $this->registerArgument('detailPid', 'string', 'Detail page uid', true);
    }

	/**
	 * @return string
	 */
    public function render()
    {
		$pageType = $this->arguments['pageType'];
		$pageUid = $this->arguments['pageUid'];
		$detailPid = $this->arguments['detailPid'];

		/** @var UriBuilder $uriBuilder */
		$uriBuilder = GeneralUtility::makeInstance(UriBuilder::class);
		$uriBuilder->reset();
		$uri = $uriBuilder->setTargetPageUid($pageUid)->setArguments([
			'detailPid' => $detailPid,
			'pageUid' => $pageUid,
		])->setTargetPageType($pageType)->build();

		$uri = stristr($uri, '&cHash', true);

		return '`' . $uri . '&uid=${item.uid}`';
    }
}
