【发布时间】:2017-06-04 11:43:28
【问题描述】:
我为TYPO3 7.6 制作了一个语言菜单(开关),只有Fluid,没有TypoScript。只是一个下拉菜单,请参见下面的屏幕截图。我也使用了Ext:vhs,这是我的代码示例:
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<ul id="languageMenu" class="dropdown menu" data-dropdown-menu>
<!-- german L:0 -->
<f:if condition="{v:page.language()}==0">
<li class="de">
<f:link.page pageUid="{page.uid}" additionalParams="{L:0}">
<f:image src="EXT:myext/Resources/Public/Icons/Flags/de.svg" width="18" height="14" alt="" />
<f:translate key="LLL:EXT:myext/Resources/Private/Language/locallang.xlf:language.de" />
</f:link.page>
<ul class="menu languageSubMenu">
<li class="en">
<f:link.page pageUid="{page.uid}" additionalParams="{L:1}">
<f:image src="EXT:myext/Resources/Public/Icons/Flags/gb.svg" width="18" height="14" alt="" />
<f:translate key="LLL:EXT:myext/Resources/Private/Language/locallang.xlf:language.en" />
</f:link.page>
</li>
</ul>
</li>
</f:if>
<!-- english L:1 -->
<f:if condition="{v:page.language()}==1">
<li class="en">
<f:link.page pageUid="{page.uid}" additionalParams="{L:1}">
<f:image src="EXT:hellocode/Resources/Public/Icons/Flags/gb.svg" width="18" height="14"
alt="{f:translate(key: 'LLL:EXT:hellocode/Resources/Private/Language/locallang.xlf:language.en')}" />
<f:translate key="LLL:EXT:myext/Resources/Private/Language/locallang.xlf:language.en" />
</f:link.page>
<ul class="menu languageSubMenu">
<li class="de">
<f:link.page pageUid="{page.uid}" additionalParams="{L:0}">
<f:image src="EXT:myext/Resources/Public/Icons/Flags/de.svg" width="18" height="14" alt="" />
<f:translate key="LLL:EXT:myext/Resources/Private/Language/locallang.xlf:language.de" />
</f:link.page>
</li>
</ul>
</li>
</f:if>
</ul>
目前总是显示语言切换。如果没有页面翻译,我会收到 404 错误。当然,丢失的页面不存在。如果没有翻译,如何隐藏我的语言切换?
过去我使用USERDEF1 和TypoScript,但我需要Fluid 的解决方案。我还看到有一个 viewhelper v:condition.page.isLanguage 但这对我不起作用或者我不知道怎么做?! Fluid 或 vhs 可以做到这一点吗?
如果有任何建议,我将不胜感激。不然我又得写打字稿了……
【问题讨论】:
标签: menu typo3 typoscript fluid viewhelper