FluidTYPO3\Vhs\Service\PageService::shouldUseShortcutTarget PHP Method

shouldUseShortcutTarget() public method

public shouldUseShortcutTarget ( array $arguments ) : boolean
$arguments array
return boolean
    public function shouldUseShortcutTarget(array $arguments)
    {
        $useShortcutTarget = (bool) $arguments['useShortcutData'];
        if ($arguments['useShortcutTarget'] !== null) {
            $useShortcutTarget = (bool) $arguments['useShortcutTarget'];
        }
        return $useShortcutTarget;
    }

Usage Example

 /**
  * @param array $pages
  * @return array
  */
 public function parseMenu(array $pages)
 {
     $count = 0;
     $total = count($pages);
     $processedPages = [];
     foreach ($pages as $index => $page) {
         if (true === $this->pageService->hidePageForLanguageUid($page)) {
             continue;
         }
         $count++;
         $class = [];
         $originalPageUid = $page['uid'];
         $showAccessProtected = (bool) $this->arguments['showAccessProtected'];
         if ($showAccessProtected) {
             $pages[$index]['accessProtected'] = $this->pageService->isAccessProtected($page);
             if (true === $pages[$index]['accessProtected']) {
                 $class[] = $this->arguments['classAccessProtected'];
             }
             $pages[$index]['accessGranted'] = $this->pageService->isAccessGranted($page);
             if (true === $pages[$index]['accessGranted'] && true === $this->pageService->isAccessProtected($page)) {
                 $class[] = $this->arguments['classAccessGranted'];
             }
         }
         $targetPage = $this->pageService->getShortcutTargetPage($page);
         if ($targetPage !== null) {
             if ($this->pageService->shouldUseShortcutTarget($this->arguments)) {
                 $pages[$index] = $targetPage;
             }
             if ($this->pageService->shouldUseShortcutUid($this->arguments)) {
                 $page['uid'] = $targetPage['uid'];
             }
         }
         if (true === $this->pageService->isActive($originalPageUid, $showAccessProtected)) {
             $pages[$index]['active'] = true;
             $class[] = $this->arguments['classActive'];
         }
         if (true === $this->pageService->isCurrent($page['uid'])) {
             $pages[$index]['current'] = true;
             $class[] = $this->arguments['classCurrent'];
         }
         if (0 < count($this->pageService->getMenu($originalPageUid))) {
             $pages[$index]['hasSubPages'] = true;
             //TODO: Remove deprecated argument in next major version
             $class[] = $this->arguments[$this->hasArgument('classHasSubpages') ? 'classHasSubpages' : 'classHasSubPages'];
         }
         if (1 === $count) {
             $class[] = $this->arguments['classFirst'];
         }
         if ($count === $total) {
             $class[] = $this->arguments['classLast'];
         }
         $pages[$index]['class'] = implode(' ', $class);
         $pages[$index]['linktext'] = $this->getItemTitle($pages[$index]);
         $forceAbsoluteUrl = $this->arguments['forceAbsoluteUrl'];
         $pages[$index]['link'] = $this->pageService->getItemLink($page, $forceAbsoluteUrl);
         $processedPages[$index] = $pages[$index];
     }
     return $processedPages;
 }
All Usage Examples Of FluidTYPO3\Vhs\Service\PageService::shouldUseShortcutTarget