检查当前页面的 pid 是否为 X
Check if pid of current page is X
如何检查页面是否具有特定 ID,如果为 true 则输出文本?
我想到了这样的事情(伪代码):
<f:if condition="{current.page.uid}=='78'">
<p>I am Page 78</p>
</f:if>
您需要将页面 ID 传递给流体模板。如果您使用的是 Extbase 控制器,您可以将 $GLOBALS['TSFE']->id
传递给您的视图,然后像您一样使用 if 条件。
$this->view->assign('pageId', $GLOBALS['TSFE']->id);
我不确定是否已经可以在 Typo3 6.2 中进行字符串比较,如果不能,您必须这样比较:
<f:if condition="{0:pageId} == {0:'78'}>
...
</f:if>
否则这是当前版本的干净解决方案
<f:if condition="{pageId} == '78'>
...
</f:if>
您可以通过 typoscript 对象获取当前页面 ID
打字错误:
lib.currentPageId = TEXT
lib.currentPageId.data = TSFE:id
流体:
<f:if condition="{f:cObject(typoscriptObjectPath:'lib.currentPageId')}==78">
<p>I am Page 78</p>
</f:if>
如果您想在 FLUIDTEMPLATE 中使用它(例如 page.10 = FLUIDTEMPLATE
),您可以使用 {data.uid}
.
访问页面数据
<f:if condition="{data.uid} == 78">
<p>I am Page 78</p>
</f:if>
在 extbase 扩展中,你可以像@dimitri-l 说的那样。
您可以在 "page TS setup" 中创建一个变量,如下所示:
variables {
pageUid = TEXT
pageUid.field = uid
...
}
所以你可以像这里一样设置你的流体状态:
<f:if condition="{pageUid}=={settings.homepid}">
<p>I am Page 78</p>
</f:if>
例如...
使用 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>
如何检查页面是否具有特定 ID,如果为 true 则输出文本?
我想到了这样的事情(伪代码):
<f:if condition="{current.page.uid}=='78'">
<p>I am Page 78</p>
</f:if>
您需要将页面 ID 传递给流体模板。如果您使用的是 Extbase 控制器,您可以将 $GLOBALS['TSFE']->id
传递给您的视图,然后像您一样使用 if 条件。
$this->view->assign('pageId', $GLOBALS['TSFE']->id);
我不确定是否已经可以在 Typo3 6.2 中进行字符串比较,如果不能,您必须这样比较:
<f:if condition="{0:pageId} == {0:'78'}>
...
</f:if>
否则这是当前版本的干净解决方案
<f:if condition="{pageId} == '78'>
...
</f:if>
您可以通过 typoscript 对象获取当前页面 ID
打字错误:
lib.currentPageId = TEXT
lib.currentPageId.data = TSFE:id
流体:
<f:if condition="{f:cObject(typoscriptObjectPath:'lib.currentPageId')}==78">
<p>I am Page 78</p>
</f:if>
如果您想在 FLUIDTEMPLATE 中使用它(例如 page.10 = FLUIDTEMPLATE
),您可以使用 {data.uid}
.
<f:if condition="{data.uid} == 78">
<p>I am Page 78</p>
</f:if>
在 extbase 扩展中,你可以像@dimitri-l 说的那样。
您可以在 "page TS setup" 中创建一个变量,如下所示:
variables {
pageUid = TEXT
pageUid.field = uid
...
}
所以你可以像这里一样设置你的流体状态:
<f:if condition="{pageUid}=={settings.homepid}">
<p>I am Page 78</p>
</f:if>
例如...
使用 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>