PDA

Просмотр полной версии : Помещаем в контейнер в зависимости от значения register


NiKRON
28.12.2007, 15:54
Бился над задачей, хотел попросить помощи, а в итоге сам всё решил.
Всё-таки напишу, вдруг кому-то понадобится.

Из определённой страницы извлекается контент и помещается в какую-то часть шаблона (допустим в lib.page_sidebar). Нужно сделать так, чтобы контент помещался в контейнер, только если записи на странице существуют.

Сделал так:

# получаем количество записей на странице и записываем в регистр adv_count
lib.page_sidebar.5 = CONTENT
lib.page_sidebar.5{
table = tt_content
select{
pidInList = 270
selectFields = count(*) as count
}
renderObj = COA
renderObj{
10 = LOAD_REGISTER
10.adv_count.field = count
}
}

# Извлекаем записи
lib.page_sidebar.10 = CONTENT
lib.page_sidebar.10 {
table = tt_content
select{
pidInList = 270
orderBy = sorting
}
renderObj=COA
renderObj{
10=TEXT
10{
field=header
wrap = <h6>|</h6>
}
20=TEXT
20{
required=1
field=bodytext
wrap = <p>|</p>
}
wrap=<div class="adv">|</div>
}
# здесь помещаем содержимое в контейнер, если записи на странице есть
stdWrap {
wrap = <h5>Объявления</h5>|
if{
value = 0
equals.data = register:adv_count
negate = 1
}
}
}


TS-гуру, что скажете? Можно сделать это проще?

pomotom
28.12.2007, 19:40
вроде регистр еще очищать положенно

и еще наверное конструкцию ifEmpty стоит испробовать

NiKRON
17.01.2008, 14:26
Ок, очистим. А как это сделать с ifEmpty?
Пробовал так:

......
wrap = <div class="adv">|</div>
ifEmpty.wrap >
......

не работает.