Как установить переменную в зависимости от проверки SQL в TypoScript?

В моем коде TypoScript есть проверка таблицы базы данных "tt_content".
В зависимости от того, является ли CONTENT пустым или нет, я хочу установить для переменной VAR значение "пустой" или "полный".
Возможно ли это?

MIDCONTENT= CONTENT
MIDCONTENT{
  table = tt_content
  select.orderBy = sorting
  select.where = colPos = 0  
}

Я уже нашел способ сделать MIDCONTENT пустым, выполнив

MIDCONTENT= CONTENT
MIDCONTENT{
  table = tt_content
  select.orderBy = sorting
  select.where = colPos = 0  

  stdWrap.ifEmpty.cObject = TEXT
  stdWrap.ifEmpty.cObject.value = empty
}

Но мне нужно установить другую переменную, и мне также нужно проверить полное состояние.


person Skip    schedule 19.08.2011    source источник
comment
Возможно, вы спрашиваете не тех людей. Это список рассылки. Типоскрипт на самом деле не язык.   -  person Gigamegs    schedule 20.08.2011


Ответы (2)


не проверено

Если я вас правильно понимаю, вы хотите добавить class="full" в ATagParams, только если на этой странице есть записи tt_content?

NO.ATagParams.append = TEXT
NO.ATagParams.append {
  value = class="full"
  # Space before and after
  noTrimWrap = | | |
  if.isTrue.numRows {
    table = tt_content
    select {
      where = colPos = 0 
      # the uid of the page, is the pid of the tt_content elements
      pidInList.field = uid
    }
  }
}

Если на этой странице нет записей, numRows вернет 0, поэтому if.isTrue вернет false и объект TEXT не будет отображаться.

person maholtz    schedule 08.11.2011

вам нужно что-то вроде:

enable = 1
enable.if.isTrue.field = MIDCONTENT

У меня нет с собой установки typo3 для тестирования. Кроме того, вы на самом деле не описали, что вы хотите сделать... Более подробная информация может помочь вам намного больше.

person Phil    schedule 19.08.2011
comment
Задача: ‹br› присвоить переменной class=full, если столбец 0 не пуст. В Java это будет: ‹br› ‹code›if(colPos0!= ){NO.ATagParams= class=full }‹/code› - person Skip; 20.08.2011
comment
Я пробовал: stdWrap.if.isTrue.cObject=TEXT stdWrap.if.isTrue.cObject.value=dir - не сработало - person Skip; 20.08.2011
comment
Проверьте эту ссылку: nicolaskuttler.com/post/ Сделайте свой MIDCONTENT сертификатом подлинности, поместите свой код в 10 с isTrue, скопируйте с 20 ‹ .10 и замените isTrue для 20 на isFalse - person Phil; 23.08.2011