2011-10-16 102 views
1

這是我的(縮短)代碼:Typoscript條件&&條件不起作用?

lib.nav = COA 
lib.nav { 
    50 = HMENU 
    50 { 
     [ ... ] 
    wrap = <nav>|</nav> 
    } 
} 

[browser = msie] && [version = <9] 
lib.nav.50.wrap = <div id="nav">|</div> 
[global] 

我知道什麼(DID):

  • [browser = msie]單獨的作品,但所有的IE瀏覽器(我需要不到9)
  • 我安裝了conditions擴展名
  • 我找了它,但找不到任何合適的東西正好我的問題

我需要的是一個可以工作的TS代碼片段,或者可能是一種解決方法。 謝謝!

回答

1

您的狀況看起來正確。

所以,也許你有一個不同的錯誤?嘗試通過測試沒有副作用的情況來分離您的問題。創建一個新的頁面,創建一個新的TS-模板,並把這段代碼到其中:

page > 
page = PAGE 
page.typeNum = 0 
page.10 = TEXT 
[browser = msie] && [version = <9] 
page.10.value = Condition is meet 
[else] 
page.10.value = Condition is not meet 
[global] 

現在,在瀏覽器中打開此頁面。現在你可以調整你的條件。如果一切正常,問題就在別的地方。

2

我知道這個問題很舊,但我剛剛解決了類似的問題。在我的情況條件下失敗了,因爲我用它這樣的塊中:儘快

config { 
    # htmlTag_setParams, adding language and some classes for the Foundation framework 
    [browser = msie] && [version =< 9] 
    htmlTag_setParams = lang="{$config.language}" class="no-js lt-ie9" 
    [else] 
    htmlTag_setParams = lang="{$config.language}" class="no-js" 
    [global] 
} 

我重寫它作爲

# htmlTag_setParams, adding language and some classes for the Foundation framework 
[browser = msie] && [version =< 9] 
config.htmlTag_setParams = lang="{$config.language}" class="no-js lt-ie9" 
[else] 
config.htmlTag_setParams = lang="{$config.language}" class="no-js" 
[global] 

它開始按預期工作

附:我正在使用Typo3 v6.1

+1

是的,條件不能在塊內使用。雖然MrRap的情況並非如此(因爲其中一些條件適用於他),但這可能對其他人有用。 – tmt

0

如果您的腳本存儲並嵌套在文件系統中(例如使用INCLUDE_TYPOSCRIPT),請嘗試將您的條件直接插入到您的typo3後端setup field of your main template中。

#your previously included file 
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/_TypoScript/myTyposcriptFile.ts"> 

#your condition 
page > 
page = PAGE 
page.typeNum = 0 
page.10 = TEXT 
[browser = msie] && [version = <9] 
page.10.value = Condition is meet 
[else] 
page.10.value = Condition is not meet 
[global] 

你也可以檢查你的條件正在使用「狀態」功能在TypoScript Object Browser的底部預期。

0

問題是[瀏覽器= msie]不再工作(T3 4.5+)。即使我在Internet Explorer中觀看,測試設置始終顯示條件不符合。