Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Как скрыть пустой блок контента (http://forum.typo3.ru/showthread.php?t=3140)

Дмитрий Самойлов 17.04.2007 13:42

вот так:

temp.leftContent < styles.content.getLeft
temp.leftContent.stdWrap {
wrap = <td>|</td>
if.isTrue.numRows < styles.content.getLeft
}

razawa 17.04.2007 15:14

Дмитрий Самойлов
Код:

temp.leftContent < styles.content.getLeft
temp.leftContent.stdWrap {
wrap = <td>|</td>
if.isTrue.numRows < styles.content.getLeft
}

Заработало! То, что нужно. Я же говорил, что все просто :)
Ну никак не врублюсь в этот TypoScript
Спасибо!

Tod,gunner,AleXUnder
Тоже спасибо. Не успел попробовать :-)

Pavel Antonov 17.04.2007 18:22

Цитата:

Сообщение от razawa (Сообщение 11302)
Дмитрий Самойлов
Код:

temp.leftContent < styles.content.getLeft
temp.leftContent.stdWrap {
wrap = <td>|</td>
if.isTrue.numRows < styles.content.getLeft
}

Заработало! То, что нужно. Я же говорил, что все просто :)
Ну никак не врублюсь в этот TypoScript
Спасибо!

Tod,gunner,AleXUnder
Тоже спасибо. Не успел попробовать :-)

Из всех вариантов выбрали самый плохой, так как код выполняет 2 запроса к базе!

Возьмите код, который предложил gunner. Самый практичный.

razawa 18.04.2007 10:44

Цитата:

Сообщение от Pavel Antonov (Сообщение 11309)
Из всех вариантов выбрали самый плохой, так как код выполняет 2 запроса к базе!
Возьмите код, который предложил gunner. Самый практичный.

Попробую и так. Спасибо.

Дылгеров Ц.В. 19.04.2007 05:16

Интересно почему не работает для среднего столбца:
temp.Left = TEXT
temp.Left {
cObject < styles.content.get
required = 1
wrap = <table><tr><td> | </td></tr></table>
}

gunner 19.04.2007 10:46

Цитата:

Сообщение от Дылгеров Ц.В. (Сообщение 11339)
Интересно почему не работает для среднего столбца:
temp.Left = TEXT
temp.Left {
cObject < styles.content.get
required = 1
wrap = <table><tr><td> | </td></tr></table>
}

все прекрасно работает, только что проверял...

Код:

temp.Left = TEXT
temp.Left {
  #cObject < styles.content.getLeft
  cObject < styles.content.get
  required = 1
  wrap = <table><tr><td> | </td></tr></table>
}


razawa 19.04.2007 11:16

Может
temp.Left нужно заменить на то, что в среднем столбце в Вашем случае?

are 07.10.2007 17:12

аналогичная проблема

есть менюшка второго уровня в виде обычного списка UL
хочется, что если нет пунктов меню, то не выводить <ul></ul>

Цитата:

temp.contextMenu = HMENU
temp.contextMenu {
#не помогает, все равно выводится <div class="context_menu"><ul></ul></div>
required = 1
wrap = <div class="context_menu"><ul>|</ul></div>
}


temp.contextMenu.entryLevel = 1
temp.contextMenu.1 = TMENU

temp.contextMenu.1 {

NO.allWrap = <li> | </li>

NO.stdWrap.htmlSpecialChars = 1

ACT = 1
ACT.stdWrap.htmlSpecialChars = 1
ACT.allWrap = <li class="selected"> | </li>

}


temp.contextMenu.2 = TMENU
temp.contextMenu.2 {

NO.allWrap = <li> | </li>
NO.stdWrap.htmlSpecialChars = 1

ACT {
stdWrap.htmlSpecialChars = 1
allWrap = <li class="selected"> | </li>
}

}
посоветуйте , что добавить в код выше ?

razawa 10.10.2007 11:35

Как делаю я меню:

Код:

temp.MenuTop {
        wrap = <div id="menu"> | </div>
        entryLevel = 0
        1 = TMENU
        1 {
                expAll=1
                noBlur = 1
                wrap = <ul id="menuList" class="adxm"> | </ul>
                NO {
                        wrapItemAndSub = <li> | </li>
                  }
                IFSUB = 1
                IFSUB {
                        allWrap.dataWrap = <li><a>{field:title}</a>
                        doNotShowLink = 1 
                      }
                ACTIFSUB < .IFSUB
          }

Может быть комбинации wrap и wrapItemAndSub помогут обойти это?
Кстати, проверить на пустые <ul> не могу, но уверен, что <div id="menu"></div> всетаки выводится, я так понимаю цель - именно от этого избавиться. Сам бы не против узнать.

-=UncleByte=- 10.10.2007 12:34

Цитата:

Сообщение от are (Сообщение 15090)
аналогичная проблема

есть менюшка второго уровня в виде обычного списка UL
хочется, что если нет пунктов меню, то не выводить <ul></ul>


посоветуйте , что добавить в код выше ?

Если для навешивания шаблона используется TV, то можно делать следующим образом:
1. Сделать map ко всему элементу, содержащему меню (например, в моем случае <div id="sidemenu">) с параметром OUTER
2. Прописать для этого меню вот такой TS:
Цитата:

lib.sidemenu = HMENU
lib.sidemenu.entryLevel = 1
lib.sidemenu.1 = TMENU
lib.sidemenu.1 {
NO.linkWrap = <li>|</li>|*||*|<li class="last">|</li>
ACT = 1
ACT.linkWrap = <li class="smact">|</li>|*||*|<li class="smact last">|</li>
}
lib.sidemenu.1.wrap =<div id="sidemenu"><ul>|</ul></div>
Соответственно выводится элемент будет только при наличии в нем какого-либо контента.


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

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