如何检查页面是否具有特定ID?如果true,则输出文本?
我想过这样的事情(伪代码):
<f:if condition="{current.page.uid}=='78'">
<p>I am Page 78</p>
</f:if>
答案 0 :(得分:4)
如果您想在FLUIDTEMPLATE中使用此功能(例如page.10 = FLUIDTEMPLATE
),则可以使用{data.uid}
访问网页数据。
<f:if condition="{data.uid} == 78">
<p>I am Page 78</p>
</f:if>
在extbase扩展中你可以像@ dimitri-l那样说。
答案 1 :(得分:3)
您可以通过typoscript对象
获取当前页面ID的TypoScript:
lib.currentPageId = TEXT
lib.currentPageId.data = TSFE:id
FLUID:
<f:if condition="{f:cObject(typoscriptObjectPath:'lib.currentPageId')}==78">
<p>I am Page 78</p>
</f:if>
答案 2 :(得分:2)
您需要将页面ID传递给流体模板。如果您使用的是Extbase控制器,则可以将element.getAttribute("textContent")
传递给您的视图,然后像您一样使用if条件。
$GLOBALS['TSFE']->id
我不确定是否已经可以在Typo3 6.2中进行字符串比较,如果没有,你必须这样比较:
$this->view->assign('pageId', $GLOBALS['TSFE']->id);
否则这是当前版本的干净解决方案
<f:if condition="{0:pageId} == {0:'78'}>
...
</f:if>
答案 3 :(得分:2)
您可以在“页面TS设置”中创建一个变量,如下所示:
variables {
pageUid = TEXT
pageUid.field = uid
...
}
所以你可以在这里制作流畅状态:
<f:if condition="{pageUid}=={settings.homepid}">
<p>I am Page 78</p>
</f:if>
例如......
答案 4 :(得分:1)
使用VHS viewhelper,你可以只用流体做,不需要Typoscript助手:
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<f:if condition="{v:page.info(field: 'uid')} == '21'">
<f:then>
Shows only if page ID equals 21.
</f:then>
</f:if>