Zum Inhalt springen

Wenn ein Marker leer ist, dann ein Div überschreiben.....

Erstellt am 4. Februar 2010 · 9 Antworten · letzte Antwort am 6. Februar 2010

Tags: Templates & Layouts, Frage

Cubana13 ·

Hallo zusammen,

ich hab eine Frage zum Überschreiben von Markern/div`s.

Ich habe einen Marker ###INHALT_LINKS###
Um diesen Marker sind ein paar Div´s, die den Hintergrund erzeugen.

Wenn der Marker leer ist, soll allerdings der Hintergrund auch nicht angezeigt werden.

Mein Ansatz war, zu prüfen ob der Marker leer ist und dann die div´s überschreiben.. ( im TS der jeweiligen Seite )

Frage - wie prüfe ich ob ein Marker leer ist?

zu sehen unter www.beta.otte-hager.de

Vielen Dank schon mal

Gruß Carsten

<div class="sidebar">
      <div class="sidebaritem">
        <div class="rtop">
          <div class="r1"></div>
          <div class="r2"></div>
          <div class="r3"></div>
          <div class="r4"></div>
        </div>

         <!-- ###INHALT_LINKS### -->
         <!-- ###INHALT_LINKS### -->  

        <div class="rbottom">
          <div class="r4"></div>
          <div class="r3"></div>
          <div class="r2"></div>
          <div class="r1"></div>
        </div>
      </div>
Mopps ·

Um diesen Marker sind ein paar Div´s, die den Hintergrund erzeugen.

Dann beziehe diese DIVs einfach mit in den Marker im wrap ein. Zum Beispiel so:

10 = TEXT
10.value = Inhalt des Markers
10.stdWrap {
  wrap = <div><div><div> | </div></div></div>
  required = 1
}

Wenn nichts da ist, dann kommen auch die DIVs nicht raus.

karlchen ·

sollte in etwa so funktionieren

subparts.INHALT_LINKS < styles.content.getLeft
subparts.INHALT_LINKS.stdWrap.required = 1
subparts.INHALT_LINKS.stdWrap.wrap (
   
// div klassen davor

|

// div klassen danach
)

P.S.
man sollte fenster nicht so lange im Hintergrund offen haben 😉

Cubana13 ·

Müssen hier bei dem Beispiel von "karlchen" nicht diese {} Klammern verwendet werden bei -- stdWrap.wrap ???

Cubana13 ·

Hab mich jetzt an dem Vorschlag von Mopps versucht.

mein TS sieht jetzt so aus... ( spielen Leerzeichen eine Rolle? )

Live Demo

( Spalte Links ohne Inhalt )
http://beta.otte-hager.de/index.php?id=13

( Spalte Links MIT Inhalt )
http://beta.otte-hager.de/index.php?id=4

Leider werden mir , wenn Inhalt drin ist die div´s nicht ausgegeben...

Hat jemand noch eine Idee was ich falsch mache?

Stelle hier mal mein komplettes TS rein...

page = PAGE
page.typeNum = 0
page.meta.DESCRIPTION = {$firmenname}
page.meta.KEYWORDS = Otte Hager Hochzeit Erding

page.1 = TEMPLATE

page.1.template = FILE
 [globalVar=TSFE:page|layout=0]
 page.1.template.file = fileadmin/templates/photo-art-5/index.html
 page.includeCSS.file = fileadmin/templates/photo-art-5/css/style.css
 page.includeCSS.file.media = screen,projection
 [global]

page.1.template = FILE
 [globalVar=TSFE:page|layout=1]
 page.1.template.file = fileadmin/templates/photo-art-5/index_1col_bottom.html
 page.includeCSS.file = fileadmin/templates/photo-art-5/css/style_1col_bottom.css
 page.includeCSS.file.media = screen,projection
 [global]
 
page.1.template = FILE
 [globalVar=TSFE:page|layout=2]
 page.1.template.file = fileadmin/templates/photo-art-5/index_2col_right.html
 page.includeCSS.file = fileadmin/templates/photo-art-5/css/style_2col_right.css
 page.includeCSS.file.media = screen,projection
 [global]
 
page.1.template = FILE
 [globalVar=TSFE:page|layout=3]
 page.1.template.file = fileadmin/templates/photo-art-5/index_1col_top.html
 page.includeCSS.file = fileadmin/templates/photo-art-5/css/style_1col_top.css
 page.includeCSS.file.media = screen,projection
 [global]

page.1 {
   workOnSubpart = DOKUMENT
   subparts.INHALT_LINKS < styles.content.getLeft        
   subparts.INHALT_NORMAL < styles.content.get
   subparts.INHALT_RECHTS < styles.content.getRight
   subparts.INHALT_RAND < styles.content.getBorder

   subparts.HEADERPHOTO < plugin.tx_jfheaderslide_pi1
   subparts.MENU_OBEN < temp.menuoben
   subparts.SUCHE < temp.suche
   subparts.COPYRIGHT < temp.copyright

   #subparts.SITETITLE < temp.sitetitle
   #subparts.TITLE < temp.title
   #subparts.LASTUPDATE < temp.lu
   #subparts.DRUCKEN < temp.prn
   
   #subparts.MENU_VERTIKAL < temp.menuvertikal
  
}

10 = TEXT
10.value = INHALT_LINKS
10.stdWrap {

      <div class="sidebaritem">
        <div class="rtop">
          <div class="r1"></div>
          <div class="r2"></div>
          <div class="r3"></div>
          <div class="r4"></div>
        </div>

       
 |         
        <div class="rbottom">
          <div class="r4"></div>
          <div class="r3"></div>
          <div class="r2"></div>
          <div class="r1"></div>
        </div>
      </div>
                 
      required = 1
      } 
      
      

#WENN ES WINDOS ODER LINUX IST UND DER BROWSER HEISST IE6, DANN MACHE FOLGENDES:
[browser = msie] && [version = <7]
page.1.subparts.HEADERPHOTO < temp.logo
[ GLOBAL ]
karlchen ·
Cubana13 schrieb

Müssen hier bei dem Beispiel von "karlchen" nicht diese {} Klammern verwendet werden bei -- stdWrap.wrap ???

nein, das sollen wirklich die runden klammern sein (). man kann Sie für mehrzeilige "Inhalte" nutzen

z.B.

10 = TEXT
10.value = dies < br /> ist < br />ein < br />langer < br />Text

20 = TEXT
20.value (
dies
ist
ein 
langer 
Text
)

10 und 20 sollten die gleiche Ausgabe liegen.

------------

hier noch ein kleiner TypoScript Fehler.

stdWap selbst, erzeugt keinen wrap, daer gibbet bei dir auch keine Div-Klassen drum herum.

10 = TEXT
10.value = INHALT_LINKS
10.stdWrap {

wrap (
    hier deine Divs
   
)

...
Cubana13 ·

Hab den Fehler noch ausgebessert....
Leider ohne Erfolg...:-(

Ne Frage dazu:
Der Marker INHALT_LINKS wird ja so befüllt

page.1 {
   workOnSubpart = DOKUMENT
   subparts.INHALT_LINKS < styles.content.getLeft
..........

Reicht das dann aus, wenn ich unten nur
das schreibe.Oder muss ich den komplette Pfad einfügen?

10.value = INHALT_LINKS

So sieht es momentan jetzt aus

10 = TEXT
10.value = INHALT_LINKS
10.stdWrap {

wrap (
<div class="sidebaritem">
<div class="rtop">
<div class="r1"></div>
<div class="r2"></div>
<div class="r3"></div>
<div class="r4"></div>
</div>

|
<div class="rbottom">
<div class="r4"></div>
<div class="r3"></div>
<div class="r2"></div>
<div class="r1"></div>
</div>
</div>
)
required = 1
}
ArminB ·

moin,

hier mal ein Ansatz von mir

page.10.stdWrap.outerWrap.cObject {
	10 = TEXT
	10.value = yyyycccccccccccc|yyyyyyyyyyyyy
	10.if.isTrue.numRows < styles.content.getLeft
	20 = TEXT
	20.value = yyyycccccccccccc|yyyyyyyyyyyyy
	20.if.isFalse.numRows < styles.content.getLeft
}
Cubana13 ·

moin Armin

danke für deinen Ansatz.
Leider versteh ich es nicht ganz...

trag ich bei 10.value / 20.value meine div´s ein ?

wie komme ich dann wieder auf meinen marker ###INHALT_LINKS?

gruß

Cubana13 ·

Vielen Dank an "karlchen"

hier seine Lösung die super funktioniert!!

Nur wenn im Marker ###INHALT_LINKS### was drin steht, wird dieser auch mit den dazugehörigen div´s ausgegeben....

gruß Carsten

page = PAGE
page.typeNum = 0
page.meta.DESCRIPTION = {$firmenname}
page.meta.KEYWORDS = Otte Hager Hochzeit Erding

page.1 = TEMPLATE

page.1.template = FILE
 [globalVar=TSFE:page|layout=0]
 page.1.template.file = fileadmin/templates/photo-art-5/index.html
 page.includeCSS.file = fileadmin/templates/photo-art-5/css/style.css
 page.includeCSS.file.media = screen,projection
 [global]

page.1.template = FILE
 [globalVar=TSFE:page|layout=1]
 page.1.template.file = fileadmin/templates/photo-art-5/index_1col_bottom.html
 page.includeCSS.file = fileadmin/templates/photo-art-5/css/style_1col_bottom.css
 page.includeCSS.file.media = screen,projection
 [global]
 
page.1.template = FILE
 [globalVar=TSFE:page|layout=2]
 page.1.template.file = fileadmin/templates/photo-art-5/index_2col_right.html
 page.includeCSS.file = fileadmin/templates/photo-art-5/css/style_2col_right.css
 page.includeCSS.file.media = screen,projection
 [global]
 
page.1.template = FILE
 [globalVar=TSFE:page|layout=3]
 page.1.template.file = fileadmin/templates/photo-art-5/index_1col_top.html
 page.includeCSS.file = fileadmin/templates/photo-art-5/css/style_1col_top.css
 page.includeCSS.file.media = screen,projection
 [global]

page.1 {
   workOnSubpart = DOKUMENT
   subparts.INHALT_LINKS < styles.content.getLeft


   subparts.INHALT_LINKS.stdWrap.required = 1
   subparts.INHALT_LINKS.stdWrap.wrap (

	<div class="sidebaritem">
		<div class="rtop">
			<div class="r1"></div>
			<div class="r2"></div>
			<div class="r3"></div>
			<div class="r4"></div>
		</div>

	|
		<div class="rbottom">
			<div class="r4"></div>
			<div class="r3"></div>
			<div class="r2"></div>
			<div class="r1"></div>
		</div>
	</div>
)	

       
   subparts.INHALT_NORMAL < styles.content.get
   subparts.INHALT_RECHTS < styles.content.getRight
   subparts.INHALT_RAND < styles.content.getBorder

   subparts.HEADERPHOTO < plugin.tx_jfheaderslide_pi1
   subparts.MENU_OBEN < temp.menuoben
   subparts.SUCHE < temp.suche
   subparts.COPYRIGHT < temp.copyright

   #subparts.SITETITLE < temp.sitetitle
   #subparts.TITLE < temp.title
   #subparts.LASTUPDATE < temp.lu
   #subparts.DRUCKEN < temp.prn
   
   #subparts.MENU_VERTIKAL < temp.menuvertikal
 
}

10 = TEXT
10.value = INHALT_LINKS
10.stdWrap {

      <div class="sidebaritem">
        <div class="rtop">
          <div class="r1"></div>
          <div class="r2"></div>
          <div class="r3"></div>
          <div class="r4"></div>
        </div>

       
 |         
        <div class="rbottom">
          <div class="r4"></div>
          <div class="r3"></div>
          <div class="r2"></div>
          <div class="r1"></div>
        </div>
      </div>
                 
      required = 1
      }
     
     

#WENN ES WINDOS ODER LINUX IST UND DER BROWSER HEISST IE6, DANN MACHE FOLGENDES:
[browser = msie] && [version = <7]
page.1.subparts.HEADERPHOTO < temp.logo
[ GLOBAL ]