Условие опечатки && условие не работает? - PullRequest
1 голос
/ 16 октября 2011

Это мой (сокращенный) код:

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

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

Что я знаю (сделал):

  • [browser = msie] работает отдельно, но для всех IE (мне нужно меньше, чем9)
  • Я установил расширение conditions
  • Я искал его, но не смог найти ничего, что подходило бы точно моей проблеме

Мне нужен либо фрагмент кода TS, который будет работать, либо, возможно, обходной путь.Спасибо!

Ответы [ 4 ]

2 голосов
/ 30 октября 2013

Я знаю, что вопрос довольно старый, но я только что решил подобную проблему. В моем случае условие не выполнено, потому что я использовал его внутри блока следующим образом:

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]

все заработало как положено

P.S. Я использую Typo3 v6.1

1 голос
/ 07 ноября 2011

Ваше состояние выглядит правильно.

Итак, возможно, у вас другая ошибка? Попробуйте отделить свои проблемы с помощью тестирования состояния без побочных эффектов. Создайте новую страницу, создайте новый 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]

Теперь откройте эту страницу в вашем браузере. Теперь вы можете настроить свои условия. Если все работает, проблема в другом месте.

0 голосов
/ 15 января 2014

Проблема в том, что [browser = msie] больше не работает (T3 4.5+). Настройка теста всегда показывает, что условие не соответствует, хотя я наблюдаю в Internet Explorer.

0 голосов
/ 14 января 2014

Если ваши сценарии хранятся и вложены в файловую систему (например, с помощью INCLUDE_TYPOSCRIPT), попробуйте вставить ваше условие непосредственно в серверную часть typo3, в поле настройки вашего основного шаблона .

#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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...