Ber*_* πφ 5 typo3 fluid typoscript
如果我想在 Fluid 模板中使用 TypoScript 之类的菜单生成,我有两种可能的方法:
使用 TypoScript 填充模板的变量。这样做:
page.10 = FLUIDTEMPLATE
page.10 {
templateName = index.html
// ... define pathes ...
variables {
contentMain < styles.content.get
mainMenu < temp.mainMenu
:
}
}
Run Code Online (Sandbox Code Playgroud)
在模板中只使用变量:
<div class="header">
<div class="logo">{logo->f:format.raw()}</div>
<div class="main-menu">{mainMenu->f:format.raw()}</div>
</div>
Run Code Online (Sandbox Code Playgroud)另一种方式是使用 f:cObject ViewHelper 来调用 TypoScript 的一部分。
打字稿:
page.10 = FLUIDTEMPLATE
page.10 {
templateName = index.html
// ... define pathes ...
variables {
contentMain < styles.content.get
:
}
}
lib.mainMenu < temp.mainMenu
Run Code Online (Sandbox Code Playgroud)
而 Fluid 模板如下所示:
<div class="header">
<div class="logo">{logo->f:format.raw()}</div>
<div class="main-menu">
<f:cObject typoscriptObjectPath="lib.mainMenu />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)所以。我的问题:每种方式的优缺点是什么?
TYPO3的不同版本有区别吗?
我不同意 pgampe 的意见,因为这两种方法存在很大差异!
如果您使用变量,则始终会呈现这些变量,即使这些内容元素未在前端中使用。这可能会产生巨大的副作用,而且很难解决。一些例子
ExcludeDisplayedNews。如果有一个新闻插件通过变量以某种方式渲染(但从未输出),则渲染和显示的新闻插件将丢失新闻记录