Если я хочу использовать TypoScript как поколение меню в шаблоне жидкости у меня есть два возможных пути:Каково наилучшее использование typoscript в жидкостных шаблонах?
используют TypoScript, чтобы заполнить переменную для шаблона. делает это так:
page.10 = FLUIDTEMPLATE page.10 { templateName = index.html // ... define pathes ... variables { contentMain < styles.content.get mainMenu < temp.mainMenu : } }
и в шаблоне просто использовать переменную:
<div class="header"> <div class="logo">{logo->f:format.raw()}</div> <div class="main-menu">{mainMenu->f:format.raw()}</div> </div>
другим способом является использование в е: CObject ViewHelper называть часть TypoScript.
TypoScript:page.10 = FLUIDTEMPLATE page.10 { templateName = index.html // ... define pathes ... variables { contentMain < styles.content.get : } } lib.mainMenu < temp.mainMenu
в то время как шаблон жидкость выглядит следующим образом:
<div class="header"> <div class="logo">{logo->f:format.raw()}</div> <div class="main-menu"> <f:cObject typoscriptObjectPath="lib.mainMenu /> </div> </div>
так. Мой вопрос: каковы плюсы и минусы каждого из них?
Существуют ли различия для разных версий TYPO3?
Эта информация, я думаю, жизненно важна для упоминания каждый раз, когда упоминаются данныепроцессоры. Это, довольно просто, побочный эффект частей предварительного рендеринга. Моим личным советом было бы придерживаться тяжелого рендеринга в шаблонах Fluid - вообще говоря, это означает, что вы избегаете dataProcessors и используете ViewHelpers, например, из пакета VHS или тех, которые вы пишете сами. Или просто объекты TS старой школы, которые вы затем визуализируете с помощью f: cObject (который не страдает от проблемы «должен сделать все заранее»). –