2017-06-04 91 views
0

我爲TYPO3 7.6設置了一個語言菜單(切換)Fluid而不是TypoScript。只需一個下拉菜單,看下面的截圖。我也用Ext:vhs,這裏是我的代碼示例:TYPO3語言切換器帶FLUID

{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錯誤。當然,缺少的頁面不存在。如果沒有翻譯,我怎麼能隱藏我的語言切換?

在過去,我用USERDEF1TypoScript,但我需要Fluid的解決方案。我也看到有一個視圖幫助v:condition.page.isLanguage但這不適合我或我不知道如何?!可以用Fluidvhs來做到這一點嗎?

我將不勝感激任何意見。否則,我必須重新編寫Typo腳本...

frontend language switcher

回答

0
+1

您好,感謝你的小費。 Mmhh語言菜單的兩個擴展('static_info_tables'&'sr_language_menu')?我通常會嘗試自己做,也可能會使用錯字。 – user2310852

+0

'static_info_tables'或多或少地安裝在我們運行的任何TYPO3實例中。無論如何,我們大多數的國家選擇表格都需要它。 –

+0

好吧,你是對的。我給了分機。 sr_language;菜單一個機會。謝謝。但如果我能通過FLUID找到一個解決方案......沒有擴展,這將是很好的。 – user2310852

0

您可以使用VHS和ViewHelpers LanguageMenu

[https://fluidtypo3.org/viewhelpers/vhs/master/Page/LanguageMenuViewHelper.html][1]