Вход

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


ksevelyar
19.03.2009, 22:12
Typo3 полностью игнорирует любые условия (conditions) :(

В недавней теме меня интересовал подменю - http://forum.typo3.biz/showthread.php?t=7510

Проблема была решена с помощью условия

[treeLevel = 0]
subparts.rmenu.special = directory
subparts.rmenu.special.value = 5
subparts.rmenu.entryLevel = 0
[end]

Как оказалось не решена. Условие не работает, подстраницы из 5-ой страницы показываются на всех страницах, а не только на главной. То есть

[treeLevel = 0]
subparts.rmenu.special = directory
subparts.rmenu.special.value = 5
subparts.rmenu.entryLevel = 0
[end]

обрабатывается как

subparts.rmenu.special = directory
subparts.rmenu.special.value = 5
subparts.rmenu.entryLevel = 0

Попробовал сейчас быстренько эмулировать ситуацию на новом сайте - он совсем пустой, почти без расширений. Тот же результат. Проверил на версиях 4.2.5 и 4.2.6.

Ничего не понимаю. Для conditions нужно ставить расширение? Или что-то ещё? Синтаксис вроде правильный (http://documentation.typo3.org/documentation/tsref/conditions/treelevel/).         

ksevelyar
20.03.2009, 13:13
Создал сейчас абсолютно пустой сайт на 4.2.6 - никаких расширений - даже не русифицирован.

Конструкция работает:
http://www.picamatic.com/show/2009/03/20/12/01/2898463_664x382.png

Либо дело в расширении automaketemplate либо в настройках ts. Либо мой сайт угрожает популяции агрессивных марсиан.

В детстве счастливые обладатели кубиков наверняка строили башню - кладя один на другой. И рано или поздно башня рушилась - вот сейчас я примерно этим и буду заниматься :)

ksevelyar
20.03.2009, 14:09
Проблема решена:

temp.rmenu = HMENU
temp.rmenu.entryLevel = 1
temp.rmenu.1 = TMENU
temp.rmenu.1.expAll = 1
temp.rmenu.1 {
NO {
linkWrap = <div class="l1">|</div>
10 = TEXT
10.text.field = title
}
ACT = 1
ACT.linkWrap = <div class="l1act">|</div>
CUR = 1
CUR < .ACT
CUR.doNotLinkIt = 1
}

temp.rmenu.2 = TMENU
temp.rmenu.2 {
NO {
linkWrap = <div class="l2">|</div>
20 = TEXT
20.text.field = title
}
ACT = 1
ACT.linkWrap = <div class="l2act">|</div>
CUR = 1
CUR < .ACT
CUR.doNotLinkIt = 1
#SPC = 1
#SPC.doNotShowLink = 0
#SPC.doNotLinkIt = 1
#SPC.allWrap = <div class="lan2">|</div>
}

[treeLevel = 0]
temp.rmenu.special = directory
temp.rmenu.special.value = 80
temp.rmenu.entryLevel = 0
[end]

subpart заменил на temp + subparts.rmenu < temp.rmenu

Вывод - в этом кусочке кода условия не работают:

temp.mainTemplate = TEMPLATE
temp.mainTemplate {

template =< plugin.tx_automaketemplate_pi1

workOnSubpart = DOCUMENT_BODY

subparts.topmenu < temp.topmenu

subparts.rmenu < temp.rmenu

subparts.content < styles.content.get
}

Думаю что условия не работают не только в temp.mainTemplate {...}, но и в temp.headTemplate {...}

Но почему? Буду рад услышать объяснение.

Может быть потому, что в temp.mainTemplate {...} страница складывается из уже сформированных "кирпичиков"? Gmenu например тоже работает только с префиксом temp.