Zum Inhalt springen

Kategorie-Bild als Headerbild (tx_commerce)

Erstellt am 9. Februar 2009 · 5 Antworten · letzte Antwort am 11. Februar 2009

Tags: Bilder, Frage

greenbanana ·

Hallo zusammen.
Ich stehe gerade mächtig auf dem Schlach.
>> Ich habe zwei TypoScript welche einzeln funktionieren. Doch ich kriege sie nicht zusammen <<.
In meinem aktuellen Projekt habe ich ein Headerbild im Layout, welches im Web2.0-Style gespiegelt wird. Dieses wird als Background-Image eingebunden mit:

temp.headerimage = COA
temp.headerimage {
	# HTML-Objekt
	5 = HTML
	5.value = background:url(
	
	#Bild
   	10 = IMG_RESOURCE
   	10 {
   		file = GIFBUILDER
   		file {
     		XY = [10.w],[10.h]*2-4
     		format=png
     
     		10 = IMAGE
     		10.file.import = uploads/media/
     		10.file.import.data = levelmedia: -1, slide
		    10.file.import.listNum = 0
		    10.file.width = 750
		
		    20 = IMAGE
		    20.file = fileadmin/templates/images/headerimage/verlauf.png
		    20.align = t
		     
		    30 = EFFECT
		    30.value = flip | blur=10
		
		    40 = IMAGE
		    40.file.import = uploads/media/
		    40.file.import.data = levelmedia: -1, slide
		    40.file.import.listNum = 0
		    40.file.width = 750
   		}
   	}
   	
   	15 = HTML
   	15.value = ) no-repeat;
}

lib.headerimage < temp.headerimage

Das funktioniert so weit sehr gut.

Jetzt habe ich für die Seiten mit dem Shop das Kategoriebild ausgelesen und möchte es ebenfalls im Header platzieren.

Mit dem folgenden Script kann ich zwar das Bild auslesen:

#################################################################################
# Headerimage (Background)
#################################################################################

temp.commerce.headerimage = CONTENT
temp.commerce.headerimage{
      # nur wenns eine ID gibt
        if.isTrue.data = GPvar:tx_commerce_pi1|catUid

        table = tx_commerce_categories
        select {
            pidInList = 32
            orderBy = crdate
            max = 1
            andWhere.data = GPvar:tx_commerce_pi1|catUid
            andWhere.wrap = uid = |

         }
         renderObj = IMAGE
         renderObj {
                file {
                        import = uploads/tx_commerce/
                        import.field = images
                        # listNum 1 = das 2. Bild
                        import.listNum = 0
                        # Konfiguration des Bildes wie du magst
                        maxW = 200
                }
         }
}

lib.headerimage > 
lib.headerimage < temp.commerce.headerimag

Doch ich schaffe es nicht das Bild zu spiegeln und als Hintergrund-Bild auszugeben.

Unbekannter Benutzer ·

im Grunde musst du doch nur das renderObj im zweiten Script zum COA machen und dann (fast) den gleichen Code benutzen wie in deinem ursprünglichen temp.headerimage.
Nur im Bereich file.import den Teil aus dem zweiten Script weiter benutzen.

file {
    import = uploads/tx_commerce/
    import.field = images
    import.listNum = 0
greenbanana ·

Hallo "Kitsunet"

Das mit COA habe ich auch schon versucht. So sah das dann aus:

#################################################################################
# Headerimage (Background)
#################################################################################
temp.commerce.headerimage = CONTENT
temp.commerce.headerimage{
	# nur wenns eine ID gibt
	if.isTrue.data = GPvar:tx_commerce_pi1|catUid
	
	table = tx_commerce_categories
	select {
		pidInList = 32
		orderBy = crdate
		max = 1
		andWhere.data = GPvar:tx_commerce_pi1|catUid
		andWhere.wrap = uid = |	
	}
    
	renderObj = COA
	renderObj {
		# HTML-Objekt
		5 = HTML
		5.value = background:url(
			
		#Bild
		10 = IMG_RESOURCE
		10 {
			file = GIFBUILDER
			file {
				XY = [10.w],[10.h]*2-4
				format=png
	
				10.file.import = uploads/tx_commerce/
				10.file.import.field = images
	            
	            # listNum 1 = das 2. Bild
	            10.file.import.listNum = 0
	            10.file.maxW = 200
	            		
				20 = IMAGE
				20.file = fileadmin/templates/images/headerimage/verlauf.png
				20.align = t
			     
				30 = EFFECT
				30.value = flip | blur=10
			
				40 = IMAGE
				40.file.import = uploads/media/
				40.file.import.data = levelmedia: -1, slide
				40.file.import.listNum = 0
				40.file.width = 750
			}
		}	
		15 = HTML
		15.value = ) no-repeat;
	}
}

lib.headerimage > 
lib.headerimage < temp.commerce.headerimag

Aber das funktionierte so leider auch nicht. Siehst du da einen Fehler?
Vielen Dank schon mal für deine Hilfe.

Gruss

Unbekannter Benutzer ·

Bin überzeugt, dass es so gehen muss. mal lib.commerce.headerimage probiert? Auch wenn das natürlich jetzt nur geraten ist... Ansonsten, das zweite Script einzeln funktioniert auf jeden Fall? D.h. pidInList = 32 ist richtig? Probier mal ob überhaupt die Daten richtig ausgelesen werden, indem du anstatt der IMG_RESOURCE ein TEXT Objekt auf das image field zugreifen lässt, da ist die Fehlerrate geringer...

greenbanana ·

#angry# #angry# #angry# so ein Idioten-Fehler #angry# #angry# #angry#

...ich bin wohl reif für die:
Bild: tbn0.google.com/images

Der einzige wirkliche Denkfehler war:

lib.headerimage < temp.commerce.headerimag

ist halt nicht gleich

lib.headerimage < temp.commerce.headerimage

man beachte das Fehlende E von ...headerimage

Tja, und so wurde mal gar nichts übergeben.

Weiter hatte ich noch den Fehler, dass ich die Ebene 10. im GIFBUILDER nicht als IMAGE-Objekt deklariert hatte, und in der Ebene 40 war noch der Import-Pfade falsch mit (uploads/media/). Diese zwei Fehler waren aber relativ rasch behoben ;-)

Wie auch immer... Danke das du mir geholfen hast.

Hier noch das fertige Scipt für alle die es brauchen können:

#################################################################################
# Headerimage (Background)
#################################################################################
temp.commerce.headerimage = CONTENT
temp.commerce.headerimage{
	# nur wenns eine ID gibt
	if.isTrue.data = GPvar:tx_commerce_pi1|catUid
	
	table = tx_commerce_categories
	select {
		pidInList = 32
		orderBy = crdate
		max = 1
		andWhere.data = GPvar:tx_commerce_pi1|catUid
		andWhere.wrap = uid = |	
	}
    
	renderObj = COA
	renderObj {
		# HTML-Objekt
		5 = HTML
		5.value = background:url(
			
		#Bild
		10 = IMG_RESOURCE
		10 {
			file = GIFBUILDER
			file {
				# XY = [10.w],[10.h]*2
				XY = 750,396
				format=png
				
				10 = IMAGE
				10.file.import = uploads/tx_commerce/
				10.file.import.field = images
	            
	            # listNum 1 = das 2. Bild
	            10.file.import.listNum = 0
	            10.file.maxW = 750
	            
	            		
				20 = IMAGE
				20.file = fileadmin/templates/images/headerimage/verlauf.png
				20.align = t
			     
				30 = EFFECT
				30.value = flip | blur=10

				40 = IMAGE
				40.file.import = uploads/tx_commerce/
				40.file.import.field = images
	            
	            # listNum 1 = das 2. Bild
	            40.file.import.listNum = 0
	            40.file.maxW = 750
			}
		}	
		15 = HTML
		15.value = ) no-repeat;
	}
}

lib.headerimage > 
lib.headerimage < temp.commerce.headerimage

Gruss und einen schönen Tag.