Zum Inhalt springen

Wenn eine Spalte leer, wrappe eine andere Spalte anders ...

Erstellt am 1. September 2008 · 4 Antworten · letzte Antwort am 1. September 2008

Tags: Frage

tuedel ·

Hallo liebe Experten,

ich sitze jetzt eine Weile an einem Problem, bei dem ich leider keinen Ansatz finde.

Ich wrappe meinen Inhalt wie folgt:

INHALT_NORMAL = CONTENT
INHALT_NORMAL < styles.content.get
INHALT_NORMAL.stdWrap.wrap = <div id="left">|</div>

INHALT_RECHTS = CONTENT
INHALT_RECHTS < styles.content.getRight
INHALT_RECHTS.stdWrap.wrap = <div id="right">|</div>
			
INHALT_RAND = CONTENT
INHALT_RAND < styles.content.getBorder
INHALT_RAND.stdWrap.wrap = <div id="margin">|</div>
INHALT_RAND.stdWrap.required = 1

So weit, so gut. Nun möchte ich, dass INHALT_RECHTS anders gewrappt wird, wenn INHALT_RAND leer ist ... wie mache ich das?

Grüße,
tuedel

tuedel ·

Oh, wirklich? Ich habe immer nur Anleitungen gefunden, wie man die Spalte anders ausgibt, wenn sie SELBST leer ist ... da muss ich wohl nochmal suchen. Danke für den Tipp schonmal!

einpraegsam.​net ·

Hier ein Beispiel von http://www.realdevelopers.com:

page.10 = TEMPLATE
page.10 {
	template = FILE
	template.file = {$configuration.html.main}
	workOnSubpart = BODY
	
	subparts.CONTENT = COA
	subparts.CONTENT {
		
		10 = COA
		10.wrap = <!--TYPO3SEARCH_begin-->|<!--TYPO3SEARCH_end-->
		10 {
			if.isTrue.numRows < styles.content.getLeft
		
			10 < styles.content.getLeft
			10.wrap = <div id="col1" class="col">|</div>
		
			20 < styles.content.get
			20.wrap = <div id="col2" class="col">|</div>
		}
		
		20 = COA
		20.wrap = <!--TYPO3SEARCH_begin-->|<!--TYPO3SEARCH_end-->
		20 {
			if.isFalse.numRows < styles.content.getLeft
		
			10 = TEXT
		
			20 < styles.content.get
			20.wrap = <div id="col12">|</div>
		}
		
		30 = COA_INT
		30.wrap = <div id="col3" class="col">|</div>
        	30.10 = CONTENT
        	30.10 {
            		table = tt_content
            		select.pidInList = 9
            		select.orderBy = sorting
            		select.where = colPos = 0
    		}
		
		40 = TEXT
		40.value = <div class="clear"></div>
		
	}
}

Hier kann der Redakteur eine Spalte nutzen oder zwei - was ihm lieber ist

tuedel ·

Wunderbar, das hat mich perfekt weiter geholfen! Vielen Dank!!
Hier mein Code, für alle, die eventuell das gleiche Problem haben:

INHALT_NORMAL = CONTENT
INHALT_NORMAL < styles.content.get
INHALT_NORMAL.stdWrap.wrap = <div id="left">|</div>

INHALT_RECHTS = COA
INHALT_RECHTS {
	10 = COA
	10.wrap = |
		10 {
                      	if.isTrue.numRows < styles.content.getBorder
			10 < styles.content.getRight
			10.wrap = <div id="right">|</div>
           
			20 < styles.content.getBorder
			20.wrap = <div id="margin">|</div>
		}
                	
		20 = COA
		20.wrap = |
		20 {
			if.isFalse.numRows < styles.content.getBorder
			10 = TEXT
			20 < styles.content.getRight
			20.wrap = <div id="rightnomargin">|</div>
		}
}

Ich habe also den Bereich ###INHALT_RAND### gelöscht und benutze nur die Marke ###INHALT_RECHTS###. ###INHALT_NORMAL### wird immer angezeigt.