![]() |
Как скрыть пустой блок контента
Мучаюсь уже долго.
Никак не найду как реализовать такое. Уверен, что очень просто, но никак не додумаюсь. Шаблон строится на таблицах. Так вот: мне нужно, если левого (Left) контента на странице нет, то и левого блока - не видно. Тоесть грубо говоря, весь основной контент - растягивается на ширину страницы. Если написано просто Код:
temp.Left < styles.content.getLeft Нашел тему про Контент по-умолчанию: ссылка Но с помощью этого - ничего не добился. Не могу разобраться с этими if В общем - как привязать wrap к наличию контента? |
посмотрите TSRef, на сколько я помню в вашем случае можно использовать conditions, но могу ошибаться
|
Цитата:
Ну должно быть простое решение этой проблемы. Вот еще похожая проблема |
У меня когда-то работала конструкция по типу:
Цитата:
|
Цитата:
Уже городил конструкции типа temp.Left.stdWrap.ifEmpty.cObject.stdWrap.wrap = | Не помогает. Может мне как-то привязаться к "numRows" ( а она явно говорит 0 - если нет контента), где-то видел такую конструкцию "if.isFalse.numRows", но как ее применить тут ? |
это можно сделать совокупностью TS и html, не помню точно, но поищу на досуге и выложу сюда решение.
В кратце, с помощью TS мы определяем есть контент или нет, ставим соответственно слас тэга, затем в css указываем - скрыть. |
Цитата:
А на счет CSS - скрыть. Да - хотелось бы увидеть примерчик. И сам полезу поразбираюсь как вставлять свойства тега. Может накопаю чего. |
советую посмотреть www.htmlbook.ru - хороший справочник
по любому, если накопаю что обязательно выложу |
razawa, так делай метку в шаблоне за тем, что нужно скрыть, то есть к примеру есть 3 колонки - <td></td><td></td><td></td>. вокруг последней ставишь маркеры и когда элемента не будет - маркеры обрабатываться не будет, а если есть что-то работает wrap.
|
попробуй, что-то вроде:
Код:
temp.Left = TEXT |
вот так:
temp.leftContent < styles.content.getLeft temp.leftContent.stdWrap { wrap = <td>|</td> if.isTrue.numRows < styles.content.getLeft } |
Дмитрий Самойлов
Код:
temp.leftContent < styles.content.getLeft Ну никак не врублюсь в этот TypoScript Спасибо! Tod,gunner,AleXUnder Тоже спасибо. Не успел попробовать :-) |
Цитата:
Возьмите код, который предложил gunner. Самый практичный. |
Цитата:
|
Интересно почему не работает для среднего столбца:
temp.Left = TEXT temp.Left { cObject < styles.content.get required = 1 wrap = <table><tr><td> | </td></tr></table> } |
Цитата:
Код:
temp.Left = TEXT |
Может
temp.Left нужно заменить на то, что в среднем столбце в Вашем случае? |
аналогичная проблема
есть менюшка второго уровня в виде обычного списка UL хочется, что если нет пунктов меню, то не выводить <ul></ul> Цитата:
|
Как делаю я меню:
Код:
temp.MenuTop { Кстати, проверить на пустые <ul> не могу, но уверен, что <div id="menu"></div> всетаки выводится, я так понимаю цель - именно от этого избавиться. Сам бы не против узнать. |
Цитата:
1. Сделать map ко всему элементу, содержащему меню (например, в моем случае <div id="sidemenu">) с параметром OUTER 2. Прописать для этого меню вот такой TS: Цитата:
|
Код:
temp.MenuTop { тоесть я wrap применяю только к объекту TMENU. Попробуйте. |
Спасибо большое всем!
сработало : ) |
Часовой пояс GMT +4, время: 16:06. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot