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)

razawa 16.04.2007 16:33

Как скрыть пустой блок контента
 
Мучаюсь уже долго.
Никак не найду как реализовать такое. Уверен, что очень просто, но никак не додумаюсь.
Шаблон строится на таблицах.
Так вот: мне нужно, если левого (Left) контента на странице нет, то и левого блока - не видно. Тоесть грубо говоря, весь основной контент - растягивается на ширину страницы.
Если написано просто
Код:

temp.Left < styles.content.getLeft
temp.Left {
  wrap = <table><tr><td> | </td></tr></table>
              }

То если контент пустой - всеравно выводится эта табличка. А она у меня с фоном и т.п. Тоесть пустой блок получается.
Нашел тему про Контент по-умолчанию: ссылка
Но с помощью этого - ничего не добился. Не могу разобраться с этими if
В общем - как привязать wrap к наличию контента?

AleXUnder 16.04.2007 17:14

посмотрите TSRef, на сколько я помню в вашем случае можно использовать conditions, но могу ошибаться

razawa 16.04.2007 17:41

Цитата:

использовать conditions
Я там не нашел нужное мне условие :-( Может в globalVars что-то. Но не знаю где смотреть.
Ну должно быть простое решение этой проблемы.
Вот еще похожая проблема

Tod 16.04.2007 19:24

У меня когда-то работала конструкция по типу:
Цитата:

...
subparts.right < styles.content.getRight
subparts.right.stdWrap.wrap = <td id="col_name3"> | </td>
subparts.right.stdWrap.ifEmpty.cObject >
...
Попробуй поэксперементировать с этим кодом.

razawa 17.04.2007 11:36

Цитата:

subparts.Left < styles.content.getLeft
subparts.Left.stdWrap.wrap = !!!! | !!!!
subparts.Left.stdWrap.ifEmpty.cObject >
Всеравно мои "!!!!" отображаются при пустом контенте
Уже городил конструкции типа
temp.Left.stdWrap.ifEmpty.cObject.stdWrap.wrap = |
Не помогает.
Может мне как-то привязаться к "numRows" ( а она явно говорит 0 - если нет контента), где-то видел такую конструкцию "if.isFalse.numRows", но как ее применить тут ?

AleXUnder 17.04.2007 11:57

это можно сделать совокупностью TS и html, не помню точно, но поищу на досуге и выложу сюда решение.
В кратце, с помощью TS мы определяем есть контент или нет, ставим соответственно слас тэга, затем в css указываем - скрыть.

razawa 17.04.2007 12:11

Цитата:

с помощью TS мы определяем есть контент или нет, ставим соответственно слас тэга, затем в css указываем - скрыть.
По-идее если мы определили есть контент или нет - можно же многое сделать. Но почему-то те варианты, что я все мучаю не работают :-(
А на счет CSS - скрыть. Да - хотелось бы увидеть примерчик. И сам полезу поразбираюсь как вставлять свойства тега. Может накопаю чего.

AleXUnder 17.04.2007 12:14

советую посмотреть www.htmlbook.ru - хороший справочник
по любому, если накопаю что обязательно выложу

Tod 17.04.2007 12:17

razawa, так делай метку в шаблоне за тем, что нужно скрыть, то есть к примеру есть 3 колонки - <td></td><td></td><td></td>. вокруг последней ставишь маркеры и когда элемента не будет - маркеры обрабатываться не будет, а если есть что-то работает wrap.

gunner 17.04.2007 12:47

попробуй, что-то вроде:

Код:

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

не проверял, но решение где-то рядом... удачи =)


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

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