![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
![]() |
#1 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
![]()
Нужно сделать, так что-бы в 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 Помогите пожалуйста разобраться. |
![]() |
![]() |
![]() |
#2 |
Senior Member
|
![]()
Если это крик души... то искрене сочуствуем.
![]() А если хотите что бы помогли, то может хотя бы скажите где проблема? Из далека похоже на плагин, даже наверно на tt_news...но кто его знает... ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
|
![]()
разве в if можно ставить value < ? зачем тогда isLess
Последний раз редактировалось Дылгеров Ц.В.; 14.04.2006 в 07:28 |
![]() |
![]() |
![]() |
#4 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
![]()
Да ето кусок TS из tt_news
В коде читай value = 10 (описка ) Проблему вроде-бы описал, как заставить что-бы срабатывали оба условия? |
![]() |
![]() |
![]() |
#5 |
Senior Member
|
![]()
Теперь яснее...
Я так же надеюсь что соответсвующие используемые регистры Вами предварительно устанавливаются... На мой взгля проблема есть тут: Код:
isTrue.if { value=SEARCH equals.data=register:code negate=1 } |
![]() |
![]() |
![]() |
#6 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
![]()
Большое спасибо за ответ!
Да конечно, в plugin я установил оба регистра. Толко я не понял, куда именно добавить (isTrue = 1) и почему ето выражение всегда = 0 ? Ведь if должно возвращать True или False if { value=SEARCH equals.data=register:code negate=1 } Хотелось бы для себя понять, как точно ето работает, чтобы потом опять на грабли не наступать ![]() |
![]() |
![]() |
![]() |
#7 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
![]()
И ещё один маленький вопрос.
Как в TS правильно прописать условия для регистров? Типа: [register:code = value] |
![]() |
![]() |
![]() |
#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 ? |
![]() |
![]() |
![]() |
#9 |
Senior Member
|
![]()
Чтобы не было вопросов - читайте документацию!
if-ничего не возвращает. Он опредедяет будет или не будет отрабатывать родительская конструкция. |
![]() |
![]() |
![]() |
#10 |
Продвинутый
Регистрация: 15.02.2005
Сообщений: 50
|
![]()
Ето я понял из доку.
В даном случае родительская конструкция : isTrue=1 Не понятно что происходит с isTrue, если IF определят что родительская конструкция(isTrue) не отрабатывается. Здесь: subheader_stdWrap.override.if всё понятно: будет переписываться если все условия выполняются(всёравно, что: subheader_stdWrap.override >) Последний раз редактировалось Boris; 15.04.2006 в 19:17 |
![]() |
![]() |