Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Помещаем в контейнер в зависимости от значения register (http://forum.typo3.ru/showthread.php?t=5454)

NiKRON 28.12.2007 15:54

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

Из определённой страницы извлекается контент и помещается в какую-то часть шаблона (допустим в 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 >
......

не работает.


Часовой пояс GMT +4, время: 10:46.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot