Выбрать с помощью TypoScript с условием

У меня такое состояние:

[globalVar = TSFE:fe_user|sesData|get_car = Katowice]
  get_carpid = TEXT
  get_carpid.value = 27  
[global]

И это выберите:

plugin.Tx_Formhandler.settings.predef.formhandler-multistep-forms.markers.input_readonly_a_price = CONTENT
plugin.Tx_Formhandler.settings.predef.formhandler-multistep-forms.markers.input_readonly_a_price {
            table = tx_pricelist_prices_full
            select {
              pidInList = 27
              orderBy = uid
              selectFields = uid, group_a_1_3
              # possible conditions
               where = ( tx_pricelist_prices_full.uid='1' AND hidden='0' AND deleted='0')
            } 
            renderObj = COA
            renderObj {
              #value  
              1 = TEXT
              1.insertData = 1 
              1.data = field:group_a_1_3
              2 = TEXT
              2.value = *
              3 = TEXT
              3.insertData = 1 
              3.data = TSFE:fe_user|sesData|finish_day          
              stdWrap.prioriCalc = 1   
            }
}

Как использовать определенный get_carpid в SELECT в строке pidInList = get_carpid

Спасибо за любую помощь!


person Adrian    schedule 28.08.2012    source источник


Ответы (1)


Вы можете создать cObject CASE. Но это будет работать только для [a-zA-z0-9_-]

# TS Setup
... snip  ...
pidInList.cObject = CASE
pidInList.cObject {
  key.data = TSFE:fe_user|sesData|get_car
  key.case = lower
  default = TEXT
  default.value = 0

  # special chars are not allowed
  katowice = TEXT
  katowice.value = 27 
}
... snip  ...

Другой вариант - использовать константы:

# TS Constants
[globalVar = TSFE:fe_user|sesData|get_car = Katowice]
  get_carpid = 27  
[globalVar = TSFE:fe_user|sesData|get_car = Lublin]
  get_carpid = 28  
[global]

# TS Setup
... snip  ...
pidInList = {$get_carpid}
... snip  ...

Первое решение более увлекательно для TypoScript, второе проще для новичков - я думаю :)

person maholtz    schedule 28.08.2012