DAM Dateipfade/Bildpfade ausgeben
| Autor | Nachricht |
|---|---|
|
Verfasst am: 09. 02. 2012 [12:19]
|
|
|
Thorsten1508
Themenersteller
Dabei seit: 25.05.2010
Beiträge: 23
|
Hallo zusammen, ich möchte eigentlich nur die Dateipfade einiger Bilder die auf einer Seite über dam eingepflegt wurden per Typoscript ausgeben lassen. Das merkwürdige ist, dass ich es nicht einmal schaffe ein Bild per Typoscript ausgeben zu lassen. Mit folgendem Code aus dem Wiki bleibt der Marker bei mir einfach leer: TYPOSCRIPT bild = IMAGE bild.file.import.cObject = USER bild.file.import.cObject { userFunc=tx_dam_tsfe->fetchFileList refField=tx_damttcontent_files refTable=tt_content additional.fileList.field=image additional.filePath=uploads/pics/ } Typo3 4.6.2 Dam 1.2.4 dam_catedit 1.2.2 dam_index 1.2.1 dam_ttcontent 1.2.2 Wie kann ich das erreichen? Das muss doch möglich sein |
|
Verfasst am: 13. 02. 2012 [14:31]
|
|
|
Thorsten1508
Themenersteller
Dabei seit: 25.05.2010
Beiträge: 23
|
Ich bin einen oder zwei Schritte weiter: Also mit folgendem Code krieg ich das Bild ausgegeben: TYPOSCRIPT bild = CONTENT bild { table=tt_content select.where = colPos=0 renderObj = COA renderObj { 10 = IMAGE 10.file.import.cObject = USER 10.file.import.cObject { userFunc=tx_dam_tsfe->fetchFileList refField=tx_damttcontent_files refTable=tt_content additional.fileList.field=image additional.filePath=uploads/pics/ } } } Das freut uns schon mal. Den Pfad eines Bildes bekomme ich, wenn ich die uid angebe folgendermaßen: TYPOSCRIPT bild_pfad = CONTENT bild_pfad { table = tx_dam select { # hier die pid des Mediafolders pidInList = 16 join = tx_dam_mm_ref ON (tx_dam.uid = tx_dam_mm_ref.uid_local) join tt_content ON (tx_dam_mm_ref.uid_foreign = tt_content.uid) #hier die uid des Bildelements# where = tt_content.uid = 5 selectFields = title, copyright, file_name, file_path } renderObj = COA renderObj { 20 = TEXT 20.field = file_path 20.wrap = |/ 30 = TEXT 30.field = file_name } } Wenn mir jetzt noch jemand sagen könnte wie das "select" aussehen müsste, damit ich z. B. den Pfad des ersten Elements in der linken Spalte der Seite mit der Pid 12 ausgeben könnte, dann wäre alles toll Bitte helfen. Danke |
|
Verfasst am: 14. 02. 2012 [09:02]
|
|
|
LuP
Dabei seit: 12.04.2007
Beiträge: 279
|
Hallo, ich bin der Sache jetzt mal nachgegangen. Ohne auf die uid des Inhaltselements mit dem DAM-Bild in tx_dam_mm_ref.uid_foreign zu referenzieren, würde die SELECT-Klausel nicht funktionieren. tx_dam_mm_ref stellt die Relation zw. Lokal- und Fremdtabelle her. Deshalb klappt es in Deinem Beispiel für bild_pfad, weil hier tt_content.uid als Fremdschlüssel dient. Würdest Du die pid statt der uid des Inhaltselements nehmen, würde es an tx_dam_mm_ref scheitern. Alternativ könnte man wie folgt an den Bildpfad kommen: TYPOSCRIPT bild_pfad = TEXT bild_pfad.cObject = USER bild_pfad.cObject { userFunc = tx_dam_tsfe->fetchFileList refField = tx_damttcontent_files refTable = tt_content refUid.cObject = TEXT refUid.cObject.value = 12 } VG, LuP |
|
Verfasst am: 15. 02. 2012 [07:57]
|
|
|
Thorsten1508
Themenersteller
Dabei seit: 25.05.2010
Beiträge: 23
|
Hallo und schon mal vielen Dank, das hat mir sehr weiter geholfen. Mit folgendem Code bekomme ich jetzt die gewünschte Ausgabe des Pfades eines bestimmten Inhaltselements: TYPOSCRIPT bildpfad=CONTENT bildpfad { table = tt_content select { pidInList = 123 where = colPos=1 begin = 0 max = 1 languageField = sys_language_uid } renderObj = COA renderObj { 20 = TEXT 20.cObject = USER 20.cObject { userFunc = tx_dam_tsfe->fetchFileList refField = tx_damttcontent_files refTable = tt_content } } } Allerdings versteh ichs leider nicht so ganz Könnte ich irgendwie auch auf andere Daten des DAM Objekts, wie z. B. copyright oder so zugreifen? Vielen Dank |
|
Verfasst am: 15. 02. 2012 [08:39]
|
|
|
LuP
Dabei seit: 12.04.2007
Beiträge: 279
|
Hallo, wow, genial! In Deiner Lösung hast Du die Einschränkung der UserFunc von DAM raffiniert umgegangen, indem Du vorab in der SELECT-Klausel die Anzahl der Rückgabewerte mit Angabe von begin und max auf 1 limitiert hast. Zusätzlich hast Du where = colPos=1 angegeben. Mit all diesen Bedingungen wird zwingend das erste Element aus colPos = 1 genommen und somit hast Du die uid in der UserFunc nicht angeben müssen. Klasse! Ich habe jetzt mal die UserFunc von DAM unter die Lupe genommen. Leider werden von ihr nur Pfade zurückgeliefert. Edit: Typo VG, LuP [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 15.02.2012 um 09:02.] |



