Zum Inhalt springen

Referenzbilder über [PIDupinRootline]...

Erstellt am 20. September 2006 · 4 Antworten · letzte Antwort am 29. November 2006

Tags: Bilder, Frage

a.​gt ·

Ein freundliches Hallo zusammen! o.O

Seit einer Woche beschäftige ich mich nun mit Typo3 (4.0.1) und muss zum CMS sagen: "Nicht schlecht Herr Specht".

Trotz "Learning by Doing" und stundenlangem Stöbern im Forum komme ich bei einer Sache jedoch nicht weiter.

Folgender Baum ist bspw. vorhanden:

Seite A
--> Seite A1
-----> Seite A11
-----> Seite A12
-----> Seite A13
-----> Seite A14
-----> ...
--> Seite A2
-----> Seite A21
-----> Seite A22
-----> Seite A23
-----> ...
Seite B
--> Seite B1
--> ...
...

Seite A (also die oberste Seite) erhält ein Template das abhängig von der aufgerufenen Unterseite ein entsprechendes Referenzbild ausgibt: z. B. für die Seite A1 und all ihrer Unterseiten A11, A12, ... -> Bild #1; für Seite A2 und all ihrer Unterseiten A21, A22, ... -> Bild #2 usw.

Dazu habe ich mir folgenden Code überlegt:

############ DOCUMENT_REF_PIC -> Referenzbild #############
temp.DOCUMENT_REF_PIC = HTML
temp.DOCUMENT_REF_PIC {
    [PIDupinRootline = 2, 3, 4, 5, 48]
       value = <div class="picleft" style="background-image: url('fileadmin/images/sektion{field:pid}/lo.png'); background-repeat: no-repeat; background-position: 0 0;">
    [else]
       value = <div class="picleft" style="background-image: url('fileadmin/images/sektion{field:uid}/lo.png'); background-repeat: no-repeat; background-position: 0 0;">
    [end]
    value.insertData = 1
}

Das Ergebnis wird ins Template kopiert durch:

page.20 = TEMPLATE
page.20 {
      [some stuff ...]
      subparts.DOCUMENT_REF_PIC < temp.DOCUMENT_REF_PIC
      [some other stuff ...]
}

Das funktioniert gut, solange man nur die Seiten A1, A2, A3 ... aufruft.
Bei deren Unterseiten wird wieder nur die uid ersetzt.
Es sieht so aus, als wird die Anweisung vor dem else-Zweig (für die pid) nicht ausgeführt oder durch den else-Zweig selbst überschrieben, oder vielleicht wird die Condition komplett ignoriert?! #paralyzed#

Mein Ziel ist, nicht ewig lange [PIDinRootline] - Listen zu notieren, sondern das ganze soweit zu "automatisieren", dass jederzeit neue Seiten A3, A4, A5, ... eingefügt werden können, ohne dabei den Setup-Code jedesmal ändern zu müssen.
Klar, dass ich dazu auch noch die pid´s in [PIDupinRootline = pid1, pid2, ...] abfragen und irgendwie einfügen muss. Aber erstmal Step by Step...

Vielleicht hat von Euch jemand eine Idee, wie ich mit dieser Methode (vor allem zu Fuß und ohne Extensions) ans Ziel komme?

Bin jedenfalls für Anregungen, Lösungen und Kritiken offen.

Danke im Vorraus.

just2b ·

Guten morgen,
habe ein Verständnisproblem mit:

Seite A (also die oberste Seite) erhält ein Template das abhängig von der aufgerufenen Unterseite ein entsprechendes Referenzbild ausgibt: z. B. für die Seite A1 und all ihrer Unterseiten A11, A12, ... -> Bild #1; für Seite A2 und all ihrer Unterseiten A21, A22, ... -> Bild #2 usw.

1. Möglichkeit: Seite A erhält bei anderen Unterseiten ein anderes Bild
2. Möglicheit: Die jeweiligen Unterseiten erhalten immer das Bild der Oberseite.

Für zweiters gibt es eine einfache Möglichkeit:

temp.image = IMAGE
temp.image {
  file.maxH = 380	
  file.import=uploads/media/	
  file.import.data = levelmedia: -1,slide
  file.import.listNum = 0
  file.import.override.field = media
}

Das Bild übergibst du so: Seitentyp auf "Erweitert" stellen und das Bild bei Dateien hochladen.

viel erfolg
lg georg

a.​gt ·

Hallo just2b,

Danke für Deine schnelle Antwort.

Habe mir jetzt erstmal die deutsche Typo3-Dokumentation von Robert Meyer
durchgelesen. An dieser Stelle dank an Herrn Mayer. "Nur" Learning by Doing ist auch nicht das Gelbe vom Ei. 8-)

Nun zu Deiner Frage:

1. Möglichkeit: Seite A erhält bei anderen Unterseiten ein anderes Bild
2. Möglicheit: Die jeweiligen Unterseiten erhalten immer das Bild der Oberseite.

Ich wollte auf Punkt 2 hinaus.

Für zweiters gibt es eine einfache Möglichkeit:

temp.image = IMAGE
temp.image {
  file.maxH = 380       
  file.import=uploads/media/    
  file.import.data = levelmedia: -1,slide
  file.import.listNum = 0
  file.import.override.field = media
}

Das Bild übergibst du so: Seitentyp auf "Erweitert" stellen und das Bild bei Dateien hochladen.

Danke für den Tip. Ich werde mich mal mit "levelmedia" beschäftigen. Hast Du für levelmedia auf die Schnelle einen guten Link? Die Forum-Suche hat mich diesmal nicht wirklich weitergebracht. 😉

Mal sehen wie das Ganze ausgeht. Das Ergebnis werde ich jedenfalls veröffentlichen.

thx

mfg a.gt

blueX ·

Hi

Hm also ich habe das jetzt so eingebunden:

page = PAGE
page.stylesheet = style*.css
page.10 = TEMPLATE
page.10 {
	template = FILE
	template.file = template*.html
	workOnSubpart = BODY
	marks {
		CONTENT_LINKS = CONTENT
		CONTENT_LINKS {
			table = tt_content
			select {
				where = colPos = 1
				orderBy = sorting
				languageField = sys_language_uid
			}
		}
		CONTENT_IMAGE = CONTENT
		CONTENT_IMAGE {	
			temp.image = IMAGE
			temp.image {
				file.import=uploads/media/   
				file.import.data = levelmedia: -1,slide
				file.import.listNum = 0
				file.import.override.field = media
			}
		} 
		CONTENT_MITTE = CONTENT
		CONTENT_MITTE {
			table = tt_content
			select {
				where = colPos = 0
				orderBy = sorting
				languageField = sys_language_uid
			}
		}
	}
}

Bilder wurden bei jeder Seite im dateifeld gespeichert.

aber angezeigt wird nichts. Bin nch recht unberührt was ts angeht. :o

MfG
blue

blueX ·

ah hat sich schon erledigt :

CONTENT_IMAGE = IMAGE
CONTENT_IMAGE {
	file.import=uploads/media/   
	file.import.data = levelmedia: -1,slide
	file.import.listNum = 0
	file.import.override.field = media
}

so muss es aussehen 🙂

MfG
blueX