/** * @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()); }
/** * 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; }
/** * 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); }