Zum Inhalt springen

Language Condition mit globalVar will einfach nicht funktionieren

Erstellt am 1. Dezember 2013 · 3 Antworten · letzte Antwort am 1. Dezember 2013

Tags: Templates & Layouts, TYPO3 4.x, Frage

macmurdock77 ·

Hallo zusammen,

ich hänge an dem Problem jetzt schon fast ne Woche und bin schon am verzweifeln, ihr seid quasi meine letzte Hoffnung.
Das Problem ist, ich möchte auf meiner Startseite ein Bild per Marker anzeigen, für die englische und russische Seite möchte ich jeweils andere Bilder einfügen.
Das habe ich mit folgendem Code versucht zu lösen:

[globalVar = GP:L = 0] 
MARKER = IMAGE
MARKER.file = fileadmin/images/iaf.jpg
MARKER.wrap = <div class="css-klasse">|</div>
[global]
 
[globalVar = GP:L = 1] 
MARKER = IMAGE
MARKER.file = fileadmin/images/ger_flag.jpg
MARKER.wrap = <div class="css-klasse">|</div>
[global]
 
[globalVar = GP:L = 2] 
MARKER = IMAGE
MARKER.file = fileadmin/images/ru.jpg
MARKER.wrap = <div class="css-klasse">|</div>
[global]

Ich hatte erst gedacht, dass ich die Condition falsch in meinem TS platziert habe, ich poste hier einfach mal den gesamten TS Code meiner Startseite, so wie die Condition dort platziert ist funktioniert nicht mal die Anzeige des Bildes. Das Bild wird erst dann über den Marker angezeigt wenn ich die Condition ganz ans Ende meines TS, hinter die schließende geschweifte Klammer des Hauptmenüs setze.
Kann es sein, dass mein TS fehlerhaft ist und es deshalb nicht funktioniert?
Wo müsste eine solche Condition normalerweise im TS platziert werden?
Ich bekomme auch keine Errors im Object Browser, hier nochmal ein Screenshot davon: Bild: i.imgur.com/2C8r77B.png

Und hier das TS meiner Startseite:
Danke schonmal für jegliche Hilfen!

lib.stdheader.10.setCurrent.htmlSpecialChars = 0
page.config.index_enable = 1
# INDEXED SEARCH ANWERFEN UND KONFIGURIEREN
# ****************************************************
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0
config.index_externals = 1

config.linkVars = L
config.htmlTag_LangKey = de_DE
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.defaultLanguageISOCode = DE

config.sys_language_mode = content_fallback
config.sys_language_overlay = hideNonTranslated

[globalVar = GP:L = 1]
	config.linkVars = L
	config.sys_language_uid = 1
	config.language = en
	config.locale_all = en_GB
	config.htmlTag_langKey = en_GB
[global]

[globalVar = GP:L = 2]
	config.linkVars = L
	config.sys_language_uid = 2
	config.language = ru
	config.locale_all = ru
	config.htmlTag_langKey = ru
[global]



config {
	// Global language definitions
	language = de
	locale_all = de_DE.utf8
	htmlTag_langKey = de-DE
	metaCharset = utf-8
        #DOCType setzen auf XHTML trans
        doctype = xhtml_trans
        #erzeugten XHTML code bereinigen
        xhmtl_cleaning = all
        #internet explorer - quirks mode
       
} // end config


page.includeCSS.file1 = fileadmin/style.css
[browser = msie]
page.includeCSS.file2 = fileadmin/styleIE.css
[browser = chrome]
page.includeCSS.file3 = fileadmin/stylechrome.css
[end]



[globalVar = GP:L = 0] 
MARKER = IMAGE
MARKER.file = fileadmin/images/iaf.jpg
MARKER.wrap = <div class="css-klasse">|</div>
[global]
 
[globalVar = GP:L = 1] 
MARKER = IMAGE
MARKER.file = fileadmin/images/ger_flag.jpg
MARKER.wrap = <div class="css-klasse">|</div>
[global]
 
[globalVar = GP:L = 2] 
MARKER = IMAGE
MARKER.file = fileadmin/images/ru.jpg
MARKER.wrap = <div class="css-klasse">|</div>
[global]



 temp.langMenu = HMENU
	temp.langMenu {
	special = language
	special {
		# Hier kommen die UID deiner Sprachen rein, die du angelegt hast.
		value = 0,1,2
	}
	1 = TMENU
	1 {
		wrap = <ul class="languageSwitch">|</ul>
		NO {
			# für jede Sprache (Reihenfolge von oben) bekommt so ein eigenes Wrapping
			# über die Klassen kannst du per CSS die Flaggen in den Hintergrund laden
			allWrap = <li class="de">|</li>|*|<li class="en">|</li>|*|<li class="ru">|</li>
			stdWrap.override = DE || EN || RU
		}
		ACT = 1
		ACT < .NO
		ACT {
			# Aktivzustand für die ausgewählte Sprache
			allWrap = <li class="de active">|</li>|*|<li class="en active>|</li>|*|<li class="ru active">|</li>
		}
 
		USERDEF1 = 1
		USERDEF1 < .NO
		USERDEF1 {
			noLink = 1
			doNotShowLink = 1
		}
	}
}


page.headerData.25 = TEXT
page.headerData.25.value (
<script type="text/javascript" src="fileadmin/fade-area.js"></script>
)

page.includeCSS {  
  file5 = http://fonts.googleapis.com/css?family=Droid+Sans:700
  file5.external = 1
  file5.media = all
}
page.includeCSS {  
  file15 = http://fonts.googleapis.com/css?family=Droid+Sans
  file15.external = 1
  file15.media = all
}
	
page = PAGE
page.typeNum = 0 
page{
  # Allgemeine Seiteneigenschaften setzen
  bodyTag = <body>

  # Designvorlage integrieren
  10 = TEMPLATE
  10.template = FILE
  10.template.file = fileadmin/startseite_vorlage.php
  10.workOnSubpart = DOKUMENT
  
  10.marks {
        
        # Topmenü erstellen
        MENU_OBEN = HMENU
        MENU_OBEN {
        special = directory
        special.value = 7
        1 = TMENU
        1.NO = 1
        1.NO.linkWrap = &nbsp;|&nbsp;&#124; |*| &nbsp;|&nbsp;&#124; |*| &nbsp;|
        }        
        
    
        INHALT2 < styles.content.getLeft
        INHALT3 < styles.content.getRight
        INHALT4 < styles.content.getBorder
	
	tt_content = TEXT
	tt_content {	
	    field = header	    
	    wrap = |<br>
	}   	
	
	LANGUAGE < temp.langMenu


    search = COA_INT
    search {
      stdWrap.prefixComment = 2 | lib.searchbox
      10 = TEXT
      10.typolink.parameter = {$plugin.tx_indexedsearch.searchUID}
      10.typolink.returnLast = url
      10.wrap = <form action="|" method="post" id="indexedsearch">
      20 = COA
      20 {
        wrap = |
        10 = TEXT
        #10.data = GPvar : tx_indexedsearch |sword
        10.htmlSpecialChars = 1
        10.wrap = <input name="tx_indexedsearch[sword]" value="Suchbegriff eingeben..." class="searchbox-sword" type="text" onclick="this.value=''" />
        20 = COA
        20 {
          wrap = |
          10 = TEXT
          10.value = <input type="hidden" name="tx_indexedsearch[sections]" value="0" />
          20 = TEXT
          20.value = <input name="tx_indexedsearch[submit_button]" value="" type="hidden" />
          30 = TEXT
          30.value = <input name="search" value="" class="searchbox-button" type="submit" />
        }
      }
      wrap = | </form>
    }
     
	tt_content = TEXT
	tt_content {	
	    field = header	    
	    wrap = |<br>
	}   	
	
	# Topmenü erstellen
        MENU_OBEN = HMENU
        MENU_OBEN {
        special = directory
        special.value = 7
        1 = TMENU
        1.NO = 1
        1.NO.linkWrap = &nbsp;|&nbsp;&#124; |*| &nbsp;|&nbsp;&#124; |*| &nbsp;|
        }        

	
    # Das Hauptmenue einbinden
    menu = HMENU
    menu {
      special = directory
      special.value = 4
      
      ### Erste Ebene ###
      1 = TMENU
      1 {
        wrap = <ul class="showmenu">|</ul>
        expAll = 1
        NO.wrapItemAndSub = <li>|</li>
        NO.ATagTitle.field = abstract // description // title
        ACT < .NO
        ACT = 1
        ACT.ATagParams = class="active"
      }
      
      ### Zweite, dritte und vierte Ebene (Kopieren von erster Ebene) ###
      2 < .1
      3 < .1
      4 < .1
    } 
        
   }
      
 }
Schweriner · · Beste Antwort

Also erstmal finde ich die Bezeichnung MARKER ein wenig unschön.
Desweiteren gehe ich mal davon aus, dass der Marker ja im Template fileadmin/startseite_vorlage.php ist, oder? Falls ja, dann musst Du ihn natürlich auch innerhalb der marks definieren wie Search, menu usw.

Ansonsten kannst Du auch mal probieren MARKER mit page.10.marks.MARKER = IMAGE etc. anzusprechen. Müsste eigentlich auf vor der Definition page = PAGE funktionieren, aber ich bin mir nicht ganz sicher. Im Zweifelsfall gehört es in den marks Bereich, so wie die anderen.

macmurdock77 ·

Mit page.10.marks.MARKER = IMAGE funktioniert es jetzt endlich.
Das komische dabei ist, wenn ich 10.marks{} um die Condition rum schreibe funktioniert es komischerweise nicht.
Naja hauptsache es geht jetzt, vielen Dank!