TYPO3 CMS  TYPO3_7-6
ActionViewHelper.php
Go to the documentation of this file.
1 <?php
3 
4 /* *
5  * This script is part of the TYPO3 project - inspiring people to share! *
6  * *
7  * TYPO3 is free software; you can redistribute it and/or modify it under *
8  * the terms of the GNU General Public License version 2 as published by *
9  * the Free Software Foundation. *
10  * *
11  * This script is distributed in the hope that it will be useful, but *
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- *
13  * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
14  * Public License for more details. *
15  * */
30 {
34  protected $tagName = 'a';
35 
41  public function initializeArguments()
42  {
44  $this->registerTagAttribute('name', 'string', 'Specifies the name of an anchor');
45  $this->registerTagAttribute('rel', 'string', 'Specifies the relationship between the current document and the linked document');
46  $this->registerTagAttribute('rev', 'string', 'Specifies the relationship between the linked document and the current document');
47  $this->registerTagAttribute('target', 'string', 'Specifies where to open the linked document');
48  }
49 
70  public function render($action = null, array $arguments = [], $controller = null, $extensionName = null, $pluginName = null, $pageUid = null, $pageType = 0, $noCache = false, $noCacheHash = false, $section = '', $format = '', $linkAccessRestrictedPages = false, array $additionalParams = [], $absolute = false, $addQueryString = false, array $argumentsToBeExcludedFromQueryString = [], $addQueryStringMethod = null)
71  {
72  $uriBuilder = $this->controllerContext->getUriBuilder();
73  $uri = $uriBuilder
74  ->reset()
75  ->setTargetPageUid($pageUid)
76  ->setTargetPageType($pageType)
77  ->setNoCache($noCache)
78  ->setUseCacheHash(!$noCacheHash)
79  ->setSection($section)
80  ->setFormat($format)
81  ->setLinkAccessRestrictedPages($linkAccessRestrictedPages)
82  ->setArguments($additionalParams)
83  ->setCreateAbsoluteUri($absolute)
84  ->setAddQueryString($addQueryString)
85  ->setArgumentsToBeExcludedFromQueryString($argumentsToBeExcludedFromQueryString)
86  ->setAddQueryStringMethod($addQueryStringMethod)
87  ->uriFor($action, $arguments, $controller, $extensionName, $pluginName);
88  $this->tag->addAttribute('href', $uri);
89  $this->tag->setContent($this->renderChildren());
90  $this->tag->forceClosingTag(true);
91  return $this->tag->render();
92  }
93 }
registerTagAttribute($name, $type, $description, $required=false, $default=null)