Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
14.04.2006, 00:12 | #1 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
помогите разобраться с условиями в Ts
Нужно сделать, так что-бы в ListView:
1.при recordcount<10 вместо header выводилось содержимое bodytext, если боьше 10, то стандартно - header. 2. есле в режиме поиска (code=SEARCH) то всегда header, не зависимо от верхнего условия Первое условие с етим кодом работает: subheader_stdWrap.override.field = bodytext subheader_stdWrap.override.if { value < 10 isLessThan.data = register:recordCount } Проблема как реализовать оба условия Пробывал так, но безрезультатно subheader_stdWrap.override.field = bodytext subheader_stdWrap.override.if { value < 10 isLessThan.data = register:recordCount isTrue.if { value=SEARCH equals.data=register:code negate=1 } } Хотя не понимаю почему, ведь в TS-Ref написано что isTrue имеет тип stdWrap Помогите пожалуйста разобраться. |
14.04.2006, 01:46 | #2 |
Senior Member
|
Если это крик души... то искрене сочуствуем.
А если хотите что бы помогли, то может хотя бы скажите где проблема? Из далека похоже на плагин, даже наверно на tt_news...но кто его знает... |
14.04.2006, 07:07 | #3 |
Senior Member
|
разве в if можно ставить value < ? зачем тогда isLess
Последний раз редактировалось Дылгеров Ц.В.; 14.04.2006 в 07:28 |
14.04.2006, 14:00 | #4 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
Да ето кусок TS из tt_news
В коде читай value = 10 (описка ) Проблему вроде-бы описал, как заставить что-бы срабатывали оба условия? |
14.04.2006, 15:21 | #5 |
Senior Member
|
Теперь яснее...
Я так же надеюсь что соответсвующие используемые регистры Вами предварительно устанавливаются... На мой взгля проблема есть тут: Код:
isTrue.if { value=SEARCH equals.data=register:code negate=1 } |
14.04.2006, 17:15 | #6 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
Большое спасибо за ответ!
Да конечно, в plugin я установил оба регистра. Толко я не понял, куда именно добавить (isTrue = 1) и почему ето выражение всегда = 0 ? Ведь if должно возвращать True или False if { value=SEARCH equals.data=register:code negate=1 } Хотелось бы для себя понять, как точно ето работает, чтобы потом опять на грабли не наступать |
14.04.2006, 17:30 | #7 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
И ещё один маленький вопрос.
Как в TS правильно прописать условия для регистров? Типа: [register:code = value] |
14.04.2006, 19:55 | #8 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
Ещё раз большое спасибо Павел!!!!
Так заработало: Код:
subheader_stdWrap.override.field = bodytext subheader_stdWrap.override.if { value < plugin.tt_news.pageBrowser.maxPages isLessThan.data = register:productCount isTrue.if { value=SEARCH equals.data=register:pluginCode negate=1 } isTrue=1 } Ето значит, что по default я устанавливаю isTrue=1, и толко кода условие после if - falshe, cрабатывает isTrue=0 ? |
15.04.2006, 13:22 | #9 |
Senior Member
|
Чтобы не было вопросов - читайте документацию!
if-ничего не возвращает. Он опредедяет будет или не будет отрабатывать родительская конструкция. |
15.04.2006, 19:10 | #10 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
Ето я понял из доку.
В даном случае родительская конструкция : isTrue=1 Не понятно что происходит с isTrue, если IF определят что родительская конструкция(isTrue) не отрабатывается. Здесь: subheader_stdWrap.override.if всё понятно: будет переписываться если все условия выполняются(всёравно, что: subheader_stdWrap.override >) Последний раз редактировалось Boris; 15.04.2006 в 19:17 |