61 public function render($conf = array()) {
65 if (!is_array($conf)) {
69 $this->setTemplate($conf);
73 $this->setExtbaseVariables($conf);
74 $this->assignSettings($conf);
81 $this->view = $parentView;
105 protected function setTemplate(array $conf) {
107 if (!empty($conf[
'template']) && !empty($conf[
'template.'])) {
108 $templateSource = $this->cObj->cObjGetSingle($conf[
'template'], $conf[
'template.']);
109 $this->view->setTemplateSource($templateSource);
111 $file = isset($conf[
'file.']) ? $this->cObj->stdWrap($conf[
'file'], $conf[
'file.']) : $conf[
'file'];
113 $templateService =
$GLOBALS[
'TSFE']->tmpl;
114 $templatePathAndFilename = $templateService->getFileName($file);
115 $this->view->setTemplatePathAndFilename(PATH_site . $templatePathAndFilename);
127 $layoutPaths = array();
128 if (isset($conf[
'layoutRootPath']) || isset($conf[
'layoutRootPath.'])) {
129 $layoutRootPath = isset($conf[
'layoutRootPath.'])
130 ? $this->cObj->stdWrap($conf[
'layoutRootPath'], $conf[
'layoutRootPath.'])
131 : $conf[
'layoutRootPath'];
134 if (isset($conf[
'layoutRootPaths.'])) {
135 foreach ($conf[
'layoutRootPaths.'] as $key => $path) {
139 if (!empty($layoutPaths)) {
140 $this->view->setLayoutRootPaths($layoutPaths);
151 $partialPaths = array();
152 if (isset($conf[
'partialRootPath']) || isset($conf[
'partialRootPath.'])) {
153 $partialRootPath = isset($conf[
'partialRootPath.'])
154 ? $this->cObj->stdWrap($conf[
'partialRootPath'], $conf[
'partialRootPath.'])
155 : $conf[
'partialRootPath'];
158 if (isset($conf[
'partialRootPaths.'])) {
159 foreach ($conf[
'partialRootPaths.'] as $key => $path) {
163 if (!empty($partialPaths)) {
164 $this->view->setPartialRootPaths($partialPaths);
175 $format = isset($conf[
'format.']) ? $this->cObj->stdWrap($conf[
'format'], $conf[
'format.']) : $conf[
'format'];
177 $this->view->setFormat($format);
187 protected function setExtbaseVariables(array $conf) {
189 $requestPluginName = isset($conf[
'extbase.'][
'pluginName.']) ? $this->cObj->stdWrap($conf[
'extbase.'][
'pluginName'], $conf[
'extbase.'][
'pluginName.']) : $conf[
'extbase.'][
'pluginName'];
190 if ($requestPluginName) {
191 $this->view->getRequest()->setPluginName($requestPluginName);
193 $requestControllerExtensionName = isset($conf[
'extbase.'][
'controllerExtensionName.']) ? $this->cObj->stdWrap($conf[
'extbase.'][
'controllerExtensionName'], $conf[
'extbase.'][
'controllerExtensionName.']) : $conf[
'extbase.'][
'controllerExtensionName'];
194 if ($requestControllerExtensionName) {
195 $this->view->getRequest()->setControllerExtensionName($requestControllerExtensionName);
197 $requestControllerName = isset($conf[
'extbase.'][
'controllerName.']) ? $this->cObj->stdWrap($conf[
'extbase.'][
'controllerName'], $conf[
'extbase.'][
'controllerName.']) : $conf[
'extbase.'][
'controllerName'];
198 if ($requestControllerName) {
199 $this->view->getRequest()->setControllerName($requestControllerName);
201 $requestControllerActionName = isset($conf[
'extbase.'][
'controllerActionName.']) ? $this->cObj->stdWrap($conf[
'extbase.'][
'controllerActionName'], $conf[
'extbase.'][
'controllerActionName.']) : $conf[
'extbase.'][
'controllerActionName'];
202 if ($requestControllerActionName) {
203 $this->view->getRequest()->setControllerActionName($requestControllerActionName);
215 $reservedVariables = array(
'data',
'current');
217 $variables = (array)$conf[
'variables.'];
218 foreach ($variables as $variableName => $cObjType) {
219 if (is_array($cObjType)) {
222 if (!in_array($variableName, $reservedVariables)) {
225 $this->cObj->cObjGetSingle($cObjType, $variables[$variableName .
'.'])
228 throw new \InvalidArgumentException(
229 'Cannot use reserved name "' . $variableName .
'" as variable name in FLUIDTEMPLATE.',
243 protected function assignSettings(array $conf) {
244 if (isset($conf[
'settings.'])) {
247 $settings = $typoScriptService->convertTypoScriptArrayToPlainArray($conf[
'settings.']);
248 $this->view->assign(
'settings', $settings);
259 $this->view->assign(
'data', $this->cObj->data);
260 $this->view->assign(
'current', $this->cObj->data[$this->cObj->currentValKey]);
269 return $this->view->render();
280 if (isset($conf[
'stdWrap.'])) {
281 $content = $this->cObj->stdWrap($content, $conf[
'stdWrap.']);
294 $finalPaths = array();
295 foreach ($paths as $key => $path) {
297 if (isset($paths[substr($key, 0, -1)])) {
300 $path = $this->cObj->stdWrap(
'', $path);
301 } elseif (isset($paths[$key .
'.'])) {
302 $path = $this->cObj->stdWrap($path, $paths[$key .
'.']);
applyStandardWrapToFluidPaths(array $paths)
assignContentObjectVariables(array $conf)
applyStandardWrapToRenderedContent($content, array $conf)
initializeStandaloneViewInstance()
static makeInstance($className)
setPartialRootPath(array $conf)
assignContentObjectDataAndCurrent(array $conf)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
static isLastPartOfString($haystack, $needle)
static getFileAbsFileName($filename, $onlyRelative=TRUE, $relToTYPO3_mainDir=FALSE)
setLayoutRootPath(array $conf)