PDA

Просмотр полной версии : помогите с условиями


GAZok
04.08.2009, 22:31
Есть кусок кода который увеличивает значение на 1:
before.cObject=LOAD_REGISTER
before.cObject{
# Counter for the mainmenu points
mainMenuNumber.cObject=TEXT
mainMenuNumber.cObject{
value={register:mainMenuNumber}+1
insertData=1
}
mainMenuNumber.prioriCalc=intval
}

Но, необходимо его расширить дополнительными условиями. Чтобы счет был не 1 2 3 4 5 6, а 6 1 2 3 4 5. Говоря на языке РНР, думаю, это должно быть приблизительно вот так:

before.cObject=LOAD_REGISTER
before.cObject{
# Counter for the mainmenu points
mainMenuNumber.cObject=TEXT
mainMenuNumber.cObject{



if({register:mainMenuNumber} == 0){
value = 6
}elseif({register:mainMenuNumber} == 6){
value = 1
}else{
value = {register:mainMenuNumber}+1
}



insertData=1
}
mainMenuNumber.prioriCalc=intval
}


Как перевести это на язык TYPO3 ?

Sergey M Nikitin
05.08.2009, 10:25
10 = CASE
10{
key.data = register:mainMenuNumber
0 = TEXT
0.value = 6
6 = TEXT
6.value = 1
default = TEXT
default{
value = {register:mainMenuNumber}+1
insertData = 1
}
prioriCalc=intval
}


P.S. Пример может не работать (не проверял, из-за (не хватки)/(не в том месте) скажем prioriCalc=intval), но в теории должен.

GAZok
02.09.2009, 23:06
Что то не срабатывало как бы не пробовал. Думаю, проблема в моем знании TypoScript. Удалось решить проблемку таким вот туповатим образом:
before.cObject=LOAD_REGISTER
before.cObject{

secondMenuNumber.cObject = CASE
secondMenuNumber.cObject{
key.data = register:secondMenuNumber
6 = TEXT
6.value = 1
1 = TEXT
1.value = 2
2 = TEXT
2.value = 3
3 = TEXT
3.value = 4
4 = TEXT
4.value = 5
default = TEXT
default.value = 6
}
secondMenuNumber.prioriCalc=intval

}

спасибо за помощь!