Hallo Gemeinde,
ich benutze css_styled_content und habe einen div-bereich mit der id="links" in mein template eingebaut. dieses ist ebenfalls markiert mit <!-- ###links### begin--> und <!-- ###links### end--> .
hier soll mittels subparts.links < styles.content.getLeft der inhalt eingefügt werden.
wie kann ich es anstellen, dass wenn kein inhalt im styles.content.getLeft ist, dass das div dann auch gar nicht im quelltext auftaucht.
eine lösung wie per css wäre auch denkbar, sprich visibility: hidden
thx
tgf
wenn ich dein problem richtig verstehe
dann weißt du dem div im css irgendeine
hintergrundfarbe o-ä- zu
und eine breite/höhe --> du bekommst
eine lehre box angezeigt.
andernfalls dürfte das leere div ja nich stören 😃
also maße wegmachen, dann ist es 0px x 0px wenn kein
Inhalt reingewrapt wird
wenn du das machst bekommst du vielleicht probs mit
der Breite/Höhe des reingewrapten Inhalts.
Dann musst du max-width/heights verwenden
LG
Honk
Ich hatte neulich ein ähnliches Problem: Während der Navigation durch ein Menü sollten einige Elemente auf der Seite, die nur an den "Blättern" des Menü"baumes" Sinn ergeben (konkret: Vor/Zurück-Links), ausgeblendet werden. Ich behalf mir mit einem if-block:
20 = HMENU
20.if {
isFalse.cObject = CONTENT
isFalse.cObject {
table = pages
pidInList = this
renderObj = TEXT
renderObj.value = *
}
}
# (hier fehlt noch was)
Es wird also "einfach" abgefragt, ob die Seite untergeordnete Seiten hat. Mit einer kleinen Modifikation kann auch auf die Existenz von Inhalt reagiert werden.
hi,
vielen dank für die antworten.
diese if-bedingugnen habe ich auch shcon gefunden.
nur weiß ich sie noch nicht ganz anzuwenden.
dabei muss man wissen, dass ###vorlinks### den div-tag umklammert
# mainTemplate cObject
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
# Feeding the content from the Auto-parser to the TEMPLATE cObject:
template =< plugin.tx_automaketemplate_pi1
# Select only the content between the <body>-tags
workOnSubpart = DOCUMENT_BODY
subparts.navigation < temp.navigation
subparts.links < styles.content.getLeft
# Hier das was ich mir gedacht habe, es funktioniert aber nicht ;)
subparts.links.if {
isEmpty.subparts.vorlinks = TEXT
isEmpty.subparts.vorlinks.value >
}
subparts.content < styles.content.get
}
vll. gibt es ja auch ne möglichkeit mittels der stylessheets über typoskript auf das div zuzugreifen und dann die eigenschaft display: none; zuzuweisen.
thx
tgf
Ja...
.
.
ach quatsch ich helf dir natürlich 😃
Ich sags gleich, für unsere Schlaumeier, dazu, dass es unzählige Ansätze dafür gibt, vom Datenbankpharsing über Filewriter und einfachte Text-Marker...
Hier mal MEINE Methode:
page.headerData.30 = Beliebiger HTML-Code
Also eben auch beispielsweise:
page.headerData.30 (<style type="text/css">
/*<![CDATA[*/
<!--
#meintag { display: none; }
-->
/*]]>*/
</style> )
Nun, was spricht für diese Umsetzung.... ach ja, sie ist einfach verständlich und umsetzbar 😉
Und, da wir hier mit HTML arbeiten, ist folgendes natürlich auch zulässig^^
page.headerData.30 = <style type="text/css">/*<![CDATA[*/<!-- #meintag{display: none;}-->/*]]>*/</style>
Alternativ: Intag-Marker, Filewriter, Pharser, Datenbank, Extension und... eigenes Typo3 entwickeln^^
MFG Proximo
es geht doch viel einfacher ...
page.10.subparts.links < styles.content.getLeft
page.10.subparts.links.stdWrap.required = 1
page.10.subparts.links.stdWrap.wrap=<div id="links">|</div>
vielen dank.
kann man die funktion der befehle irgendwo nachschlagen.
denke da an sowas wie selfhtml oder php.net
thx
tgf
Hallo, ich hab ein ähnlich gelagertes Problem. Und zwar bau ich mir um meinen Marker ###SUBNAV### im HTML-Templat einen Rahmen mit diesem Code:
<div class="bg">
<div class="ro">
<div class="lo">
<div class="ru">
<div class="lu">
<div class="inhalt">
###SUBNAV### </div> </div>
</div>
</div>
</div>
</div>
Wenn jetzt aber natürlich kein Subnav das ist, ist der Kasten trotzdem leer vorhanden.
Wenn ich von SteffenK den Code verwenden, dann lege ich doch meine Box um jeden Link. Ich würde das aber gern um alle Links legen.
Hat mir jemand vielleicht einen Tip?
Danke
Gruß
Daniel
aha, Du hast Dir also eine Rundbox gebaut 🙂
Am einfachsten machst Du es mit einem COA, da kannst Du reinpacken was Du willst.
Die Divs kommen ins TS als wrap, also so:
page.10.marks.SUBNAVI = COA
page.10.marks.SUBNAVI {
stdWrap.required = 1
stdWrap.wrap = <div class="bg"><div class="ro"><div class="lo"><div class="ru"><div class="lu"><div class="inhalt"> | </div></div></div></div></div></div>
1 = HMENU
1 {
...
}
}
}
Hallo Steffen,
hat genauso wie du es geschrieben hast perfekt geklappt.
Vielen Dank nochmal für die Hilfe.
Gruß
Daniel