TYPO3流体模板:如何获取另一页的标题(或:替代菜单)

时间:2013-05-31 11:56:22

标签: typo3 fluid

我正在使用TYPO3 6.0.2构建一个网站并且流畅。我有一个部分基本上是一个四个按钮的菜单,通向四个不同的页面。它不是主菜单,也不是分段菜单。

到目前为止,我通过使用自己构建该菜单。但是,链接文本只能使用一种语言,或者我必须使用语言文件才能以适当的语言获取文本。

但由于系统能够在其他情况下以当前语言检索标题(例如在构建菜单时),我想知道是否有流量或fed / vhs帮助器给我一个页面的标题/替代标题有一定的身份。

或者,我正在构建的内容基本上是另一个菜单,其中包含来自页面树中不同级别的项目。因此,我想知道是否可以使用帮助器或使用TypoScript来完成。

这是一个很好的做法:在页面树中创建一个文件夹,并在文件夹中为每个替代菜单项创建一个页面,并使每个页面成为我想要链接到的实际页面的快捷方式?然后使用vhs的菜单视图助手并将文件夹的id设置为pageUid。

3 个答案:

答案 0 :(得分:2)

另一种选择 - 更容易,但有一个依赖项扩展(一个提供大量非常有用的ViewHelpers,你将会沉迷于周围):

https://fluidtypo3.org/viewhelpers/vhs/master/Page/InfoViewHelper.html

它允许您从UID标识的页面中获取一个字段。还有其他ViewHelper,例如,它允许您渲染菜单和内容元素 - 这几乎总是更简单,更短,更灵活(至少没有巨大的脚本),而不是使用TypoScript制作复杂的对象。

“VHS”扩展(关键字:vhs)是任何开发人员创建流体模板的必备伴侣 - 我不只是因为我写了它而是这样说;)

干杯,
克劳斯又名。 NamelessCoder

PS:在同一个站点上,您会发现许多其他扩展,可以让您在处理任何类型的流体模板时更加一致,同时更快。这绝对值得一看。

答案 1 :(得分:1)

我刚遇到一个类似的问题,但也许对你有帮助:

<强> 1。步骤,将其放入您的Fluid模板中:

<f:cObject typoscriptObjectPath="lib.menuwithbuttons" />

<强> 2。步骤,在您的TypoScript中,您可以定义自己的菜单:

lib.menuwithbuttons = HMENU
lib.menuwithbuttons {
      special = list
      #your pageIDs
      special.value = 1,2,3,4 
}

要使用您拥有的按钮样式,可以使用TS中的linkWrap属性。

答案 2 :(得分:1)

这是一个简单的TS片段:

lib.page-link = TEXT
lib.page-link.value.data = DB:tt_content:{current:1}:header
lib.page-link.value.insertData = 1
lib.page-link.typolink.parameter.data = current

可以从流体中引用,如下所示:

<f:cObject typoscriptObjectPath="lib.page-link">19</f:cObject>

输出像这样(来自带有uid 19的页面):

<a href="en/downloads.html">Downloads</a>