TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Bildpfad/-name des aktuellen Contentobjektes.


Autor Nachricht
Verfasst am: 22. 01. 2010 [17:05]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
hallo,

kann mir jemand sagen, wie ich den Bildpfad und den Bildname des aktuellen Contentobjektes (tt_content) in TS bekommen kann?

Gruß,
Grille.
Profil
Verfasst am: 22. 01. 2010 [20:40]
karlchen
Dabei seit: 19.10.2006
Beiträge: 868
Du kannst in TypoScript mit "field" auf einige Datenbank Felder des jeweiligen tt_content Objects zugreifen.
z.B.

TYPOSCRIPT
10 = TEXT
   10.data = field:image


der Pfad wird nicht in der Datenbank gespeichert, wenn es einfach im ContentElement hochgeladen wurde, landet es im Ordner /uploads/pics/, wenn ein Upload innerhalb einer Extension erfolgt, landet es meist im Ordner /uploads/tx_EXTENSIONKEY
Profil
Verfasst am: 23. 01. 2010 [17:49]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
Hallo,

Danke für Deine Antwort!

Ich zeige mal den gesamten TS-CODE, denn leider gibt "10.data = field:image" nichts aus. Ich habe aber gegoogelt und noch dies zur Kontrolle gefunden: "10.data = register:IMAGE_NUM" ... dies gibt über dem Content-Block "0" aus.

Was diese "0" aber bedeutet weiss ich nicht. Vielleicht bedeutet es: da ist nichts, oder da ist was auf position 0? icon_rolleyes.gif

der ganze CODE ist dieser:
TYPOSCRIPT
tt_content.image.20 {
	layout = CASE
	layout {
		key.field = imageorient
		default = TEXT
		default.value = <div class="content_unit floatbox clearfix"><div class="csc-textpic csc-textpic-center csc-textpic-above###CLASSES###">###IMAGES### ###TEXT###</div><div class="csc-textpic-clear"><!-- --></div></div>
 
// hier sind die anderen Zustände vom Content-Typ "Bild mit Text" definiert
 
// hier beginnt mein CODE
 
		26 = COA
		26 {
			5 = TEXT
			5.data = register:IMAGE_NUM
			10 = TEXT
			10.value = <div class="content_unit floatbox clearfix" style="
			20 = TEXT
			20.value = background:#ff6
			30 = TEXT
			30.value = "><div class="csc-textpic csc-textpic-intext-left-nowrap">###IMAGES###<div style="margin-left:{register:rowWidthPlusTextMargin}px;"> ###TEXT###</div></div><div class="csc-textpic-clear"></div><!-- --></div>
		}
		26.insertData = 1		
	}
Profil
Verfasst am: 23. 01. 2010 [19:59]
karlchen
Dabei seit: 19.10.2006
Beiträge: 868
fangen wir noch mal anders an icon_wink.gif

was ist das Ziel was du ereichen möchtest ?
Profil
Verfasst am: 24. 01. 2010 [10:58]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
hallo Karlchen,

danke dass Du Dir zeit nimmst icon_smile.gif

Ich habe im Backend unter der Spalte "normal" ein "Text mit Bild" angelegt. Eingestellt ist CSS-Styled-Content.

Mein Ziel ist ..
es nun das Bild dieses "Text mit Bild" als Background einer DIV-Box anzulegen ... der Text soll dann in diese DIV-Box.

Nun war meine Überlegung, den Pfad und den Namen der Bilddatei auszulesen, so dass ich diese Elemente für die DIV-Box nutzen kann.

Gruß,
Grille.
Profil
Verfasst am: 27. 01. 2010 [20:10]
karlchen
Dabei seit: 19.10.2006
Beiträge: 868
da spricht er von Zeit und schon war ich weg ...
sorry,also falls du noch ein Tipp brauchen kannst.

ich habe auch einmal das Standardverhalten von Bild und Text umbauen müssen.

Da ich persönlich die bestehenden Sachen nicht ändern möchte, weil irgendwann braucht man Sie bestimmt wieder, habe ich bei Text und Bild eine Option hinzugefügt.

Als erstes im TSCONFIG deiner Root Seite folgenden Eintrag
TYPOSCRIPT
#####
#eigene Image Operations
#
TCEFORM.tt_content.imageorient.addItems.200 = Bild als BackgroundImage

damit fügst du der Option bei Text und Bild einen weiteren Punkt hinzu.

Danach zurück ins TypoScript.

ich habe habe jetzt mal dein bestehendes TypoScript ein wenig angepasst, siehe unten

beim layout Part 200(das ITEM was ich im TSCONFIG hinzugefügt habe) definiere ich nun die Sachen die brauche und lasse andere dafür weg. In dem Fall habe ich ###IMAGES### weggelassen und durch etwas eigenes ersetzt (30 und 40).
Der tt_content.image.20.imgPath ist im Grunde "uploads/pics/", da ich jetzt aber nicht weiß ob der irgendwo mal verändert wird, übernehme ich den lieber so.

Wenn du jetzt ein "Text mit Bild" Element anlegst, musst du nur aus dem Bilder-Postions DropDown "Bild als BackgroundImage" image nehmen, damit deine Art des Rendering genutzt wird.


TYPOSCRIPT
tt_content.image.20 {
 
        layout {
          200 = COA
          200 {
             10 = TEXT
             10.value = <div class="content_unit floatbox clearfix" style="
           #  20 = TEXT
           #  20.value = background:#d66
             20 = TEXT
             20.value = background-image: url(
 
             30 = TEXT
             30.value < tt_content.image.20.imgPath
 
             40 = TEXT 
             40.field = image
 
             100 = TEXT
             100.value = );">###TEXT### <div class="csc-textpic-clear"><!-- --></div>
           }
 
        }
}

Profil
Verfasst am: 27. 01. 2010 [23:39]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
icon_eek.gif Tausend Dank Karlchen!!!

Ich werde es morgen gleich ausprobieren aber es sieht sehr vielversprechend aus! Besonders die Idee die Option "Bild als BackgroundImage" find ich richtig Klasse, weil ich so auch andere Optionen definieren kann!!!

Vielen Dank! icon_smile.gif
Profil
Verfasst am: 28. 01. 2010 [00:03]
MB-Grille
Themenersteller
Dabei seit: 12.02.2009
Beiträge: 43
ES FUNKTIONIERT! ... ist zwar vom Layout total verschoben, ist aber ne reine CSS-anpassung!

also war der Bildpfad letztendlich das: tt_content.image.20.imgPath ...

Mir ist diese Lösung auch tausend mal lieber, da ich Bilddateien lieber geordnet in eigents angelegte Verzeichnisse anlege und nicht mit "upload" hochlade.

Vielen Dank!
Profil
Verfasst am: 28. 01. 2010 [09:01]
karlchen
Dabei seit: 19.10.2006
Beiträge: 868
freut mich icon_smile.gif
Profil