/**
  * @param string $viewHelperTemplate
  * @param string $expectedOutput
  *
  * @test
  * @dataProvider viewHelperTemplateSourcesDataProvider
  */
 public function renderingTest($viewHelperTemplate, $expectedOutput)
 {
     $view = new TemplateView();
     $view->assign('settings', ['test' => '<strong>Bla</strong>']);
     $templateString = '{namespace ft=TYPO3Fluid\\FluidTest\\ViewHelpers}';
     $templateString .= $viewHelperTemplate;
     $view->getRenderingContext()->getViewHelperResolver()->addNamespace('ft', 'TYPO3Fluid\\FluidTest\\ViewHelpers');
     $view->getRenderingContext()->getTemplatePaths()->setTemplateSource($viewHelperTemplate);
     $this->assertSame($expectedOutput, $view->render());
 }
Beispiel #2
0
 /**
  * Render the given data by the defined Fluid Template
  *
  * @param array $data data values
  * @param string $templatePath
  * @return string
  */
 public static function renderValueByTemplate(array $data, $templatePath)
 {
     if (!file_exists($templatePath)) {
         $templatePath = GeneralUtility::getFileAbsFileName($templatePath);
     }
     self::getFluidRenderer()->setTemplatePathAndFilename($templatePath);
     self::$fluidRenderer->assign('data', $data);
     $rendered = self::$fluidRenderer->render();
     return $rendered;
 }
Beispiel #3
0
 /**
  * Gets the message for a notification mail as fluid template
  *
  * @param Comment $comment comment which triggers the mail send method
  * @return string The rendered fluid template (HTML or plain text)
  *
  * @throws \Exception
  */
 protected function getMailMessage(Comment $comment)
 {
     $mailTemplate = GeneralUtility::getFileAbsFileName($this->getTemplatePath());
     if (!file_exists($mailTemplate)) {
         throw new \Exception('Mail template (' . $mailTemplate . ') not found. ');
     }
     $this->fluidTemplate->setTemplatePathAndFilename($mailTemplate);
     // Assign variables
     $this->fluidTemplate->assign('comment', $comment);
     $this->fluidTemplate->assign('settings', $this->settings);
     $uriBuilder = $this->controllerContext->getUriBuilder();
     $subFolder = $this->settings['subFolder'] ? $this->settings['subFolder'] : '';
     $articleLink = 'http://' . GeneralUtility::getHostname() . $subFolder . '/' . $uriBuilder->setTargetPageUid($comment->getPid())->setAddQueryString($this->getAddQueryStringToLinks())->setArgumentsToBeExcludedFromQueryString(array('id', 'cHash', 'tx_pwcomments_pi1[action]', 'tx_pwcomments_pi1[controller]'))->setUseCacheHash(FALSE)->buildFrontendUri();
     $this->fluidTemplate->assign('articleLink', $articleLink);
     $backendDomain = $this->settings['overwriteBackendDomain'] ? $this->settings['overwriteBackendDomain'] : GeneralUtility::getHostname();
     $backendLink = 'http://' . $backendDomain . $subFolder . '/typo3/alt_doc.php?M=web_list&id=' . $comment->getPid() . '&edit[tx_pwcomments_domain_model_comment][' . $comment->getUid() . ']=edit';
     $this->fluidTemplate->assign('backendLink', $backendLink);
     return $this->fluidTemplate->render();
 }
 /**
  * Assign a value to the variable container.
  *
  * @param string $key The key of a view variable to set
  * @param mixed $value The value of the view variable
  * @return \TYPO3\CMS\Fluid\View\AbstractTemplateView the instance of this view to allow chaining
  * @api
  */
 public function assign($key, $value)
 {
     $this->templateView->assign($key, $value);
     return $this;
 }
 /**
  *
  * @param \TYPO3\Sessions\Domain\Model\AnySession $session
  * @return string
  */
 public function infoAction($session)
 {
     $this->view->assign('session', $session);
 }