Versuche schon seit mehreren Stunden die Fkt filelink, bisher erfolglos, zum Laufen zu bringen.
Auch die Suche auf Typo3.org und hier im Forum hat mich nicht weitergebracht...
Der derzeitige Code im Setup des Templates:
1.filelink {
path = uploads/media/
icon = 1
icon.wrap = <td> | </td>
file.wrap = <td> | </td>
size = 1
size.wrap = <td> | </td>
jumpurl = 1
target = _blank
strWrap.wrap = <tr> | </tr>
}
page = PAGE
page.typeNum = 0
page.10 < 1.filelink
Habe schon mehrere Sachen ausprobiert, allerdings bleibt der Bildschirm immer weiß, nichts wird ausgegeben!
Kann mir jemand sagen, was in dem Code falsch ist, was fehlt etc.
Schon im Vorraus Danke für jede Antwort!
Hi,
weiß zwar nicht ob es funktioniert, aber du musst wahrscheinlich noch einen Typ wie z. B. IMAGE angeben:
1.filelink = IMAGE
1.filelink {
...
}
...
Gruß
Felix
Hallo,
ich hatte ein ähnliches Problem, auch ich versuche filelinks auszugeben, wobei bei mir die Daten aus einer Datenbankabfrage stammen, die der Backenduser mittels "InserRecords" auf einer Seite einbaut.
Hier mal der TS code:
tx_eim2report = COA
tx_eim2report {
wrap = <TABLE border="0" cellpadding="0" cellspacing="0">|</table>
5 = TEXT
5.field = file
5.if.isTrue.field = file
5.filelink {
labelStdWrap.override = TEXT
labelStdWrap.override.field = headline
path = uploads/tx_eim2report/
icon = 1
icon.wrap = |
icon_link = 1
size = 1
size.wrap =  <span class="size">[| Bytes]</span>
file.wrap = |
jumpurl = 0
target = _blank
stdWrap = <tr><td>|</td></tr>
}
6 = TEXT
6.field = headline
6.if.isFalse.field = file
6.stdWrap = <tr><td>|</td></tr>
10 = TEXT
10.if.isTrue.field = date
10.field = date
10.date = d.m.Y
10.dataWrap = <tr><td>|</td></tr>
20 = TEXT
20.if.isTrue.field = source
20.dataWrap= <tr><td><b>{field:source}</b></td></tr>
}
tt_content.shortcut.20.0.conf.tx_eim2report_report = < tx_eim2report
Das obige TS rendert Datensätze des plugins eim2report, eine Erweiterung, die ich selbst geschrieben habe.
Wenn der Backenduser InsertRecords aufruft, und dann records der Datenbanktabelle tx_eim2report_report auf seiner Seite einfügt, dann werden diese nach obiger TS Vorschrift gerendert.
Für Dich von Interesse ist das Element 5 (und evtl. noch 6).
5 ist vom Typ TEXT und erhält als field Eigenschaft das Datenbankfeld "file" zugewiesen, dieses enthält bei mir den Dateibezeichner.
Innerhalb der filelink Definition weise ich als Label für den dateilink noch den Inhalt des Datenbankfelds "headline" zu, damit wird nicht der Dateiname angezeigt, sondern der Inhalt von headline.
Die anderen Angaben kennst Du ja.
Das Objekt 6 kommt nur dann zum Einsatz, wenn Objekt 5 nicht vorhanden ist (einmal wird auf isTrue.field = file geprüft, und einmal au isFalse).
Wenn also keine Datei vorhanden ist wird nur die headline angezeigt.
Ich hoffe, dies war hilfreich.
Viele Grüße
Achim.
Hi ich habe hier auch das Problem dass men Content Element Filelink dem ich einen dateiverweis zugeordnet habe mir nichts anzeigt. Hat jemand das Problem schon gelöst. Wenn ja wär ich über Hilfe und Codeschnipsl dankbar.
gruesse
mein obiges Beispiel funktioniert,
es wird ein Datensatz ausgegeben, der u.a. auch einen Filelink enthält.
Wenn Du Dein TS Setup postest und etwas näher erläuterst, was genau Du machen möchtest, kann ich vielleicht helfen...
Viele Grüße
Achim.
Hi Achim,
meine Absicht: Ich möchte auf einer Seite Links ausgeben die zu einer geuploadeten Datei führen. Jeder dieser Links soll das aktuelle geänderte Datum enthalten.
Ich habe es zuerst mit normalen Text Content Elementen versucht. D.h. ich habe im RTE einen Link zu meinen Dateien gesetzt. Dann habe ich diesen Text aus tt_content geholt und das Änderungsdatum angefügt. siehe folgenden Code
temp.lc_date = CONTENT
temp.lc_date {
table = tt_content
select {
pidInList = this
# orderBy = tstamp DESC
# max = 1
}
renderObj = COA
renderObj.10 = TEXT
renderObj.10 {
field = bodytext
}
renderObj.20 = TEXT
renderObj.20 {
field = tstamp
date = d.m.y - H:i
wrap = <span style="font-family:Verdana; font-style:italic; font.size: 8pt; padding-left:10px;">zuletzt geändert am: | </span><br /><br />
}
}
Jedoch bekomme ich keine Links ausgegeben.
Im Quelltext steht 1:1 der Inhalt aus dem bodytext des tt_contetnt. Also <LINK asdfasdf </LINK>
Deshalb wollte ich es nun mit dem Content Element Filelink versuchen. Doch wenn ich dieses auf die Seite packe und die upgeloadete Datei unter Files angebe dann bekomme ich auf der Seite nichts angezeigt.
Hallo, probier es mal auf diese Weise:
temp.lc_date = CONTENT
temp.lc_date {
table = tt_content
select {
pidInList = this
# orderBy = tstamp DESC
# max = 1
}
renderObj = COA
renderObj.10 < tt_content.text.20
renderObj.20 = TEXT
renderObj.20 {
field = tstamp
date = d.m.y - H:i
wrap = <span style="font-family:Verdana; font-style:italic; font.size: 8pt; padding-left:10px;">zuletzt geändert am: | </span><br /><br />
}
}
In tt_content.text.20 befindet sich die Parse Funktion, mit der typo3 selbst <LINK> usw. durch "normales" HTML ersetzt. Du kannst also einfach typo3 die Arbeit für Dich machen lassen. 😉
Viele Grüße
Achim.
Hi again,
erstmal danke für die Hilfe. Aber wenn ich deinen Code 1:1 übernehme dann bekomm ich keinen Content mehr ausgegeben. Ich bekomme nur noch meine Änderungsdaten ausgegeben.
Was mach ich blos falsch??? Woran kanns noch liegen?
Ich verstehs einfach nicht.
Wie geht das eigentlich von statten. WEnn ich den inhalt mit styles.content.get aus der db hol wie wird der content dann gerendert. ich meinwoher weiss denn typo dass es <LINK afas </LINK> mit nem <a href ersetzen muss?
Hallo,
schau mal unter folgendem Link, dort ist eine Grafik mit einem Auszug aus tt_content zu finden, dort siehst Du wie typo3 die links mittels parsefunc und tags ersetzt.
http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=214&tx_extrepmgm_pi1[tocEl]=472&cHash=38a8ce6a13
Du kannst ja mal mittels dem typoscript object Browser nachsehen, ob in Deiner Installation tt_content.text.20 überhaupt so aussieht wie im Beispiel, falls nicht kannst Du ja immer noch selbst mittels parsefunc und tags dieses <LINK> durch einen <a href...> ersetzen.
Siehe hierzu auch:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Parsefunc.html
und
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Tags.html
Viele Grüße und viel Erfolg
Achim.
Also mein Object Browser sieht genauso aus wie auf dem Bild. Aber der Haken an der Sache ist ja dass wenn ich nun
renderObj.10 = TEXT
renderObj.10 {
field = bodytext
}
durch
renderObj.10 < tt_content.text.20
ersetze, dann zeigt er mir ja überhaupt keinen Inhalt mehr an. D.h. nicht mal mehr dieser output <LINK sfasd</LINK> ist zu sehen was bei der ersten Methode der Fall war.
Demnach muss der Fehler doch bei dieser Zeile liegen oder?
renderObj.10 < tt_content.text.20
Bin ratlos...
Hab keine Ahnung was ich noch machen kann.
Woher weiss denn Typo dass ich den bodytext aus der table tt_content haben will?
reicht das aus? oder fehler da nicht noch was?
renderObj.10 < tt_content.text.20
Obiges gibt doch nur an wo die parsefunc is?
Hallo,
tt_content.text.20.field = bodytext müsste bereits gesetzt sein. Das siehst Du in der Grafik auf folgender Seite http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=214&tx_extrepmgm_pi1[tocEl]=472&cHash=38a8ce6a13
Das ist also eigentlich schon gesetzt, schau mal mit dem TS Object Browser nach, ob das bei Dir auch so ist.
Bei mir hat das so funktioniert.
Komisch.
Viele Grüße
Achim
Hi Achim,
erstmal wieder BESTEN DANK für deine Geduld und Hilfe.
Alles sieht bei mir genauso aus wie auf dem Bild.
Warums bei mir mit deiner Methode nicht klappt??????
Ich habe allerdings herausgefunden wies bei mir funktioniert:
renderObj = COA
renderObj.10 < tt_content.text.20
renderObj.10 = TEXT
renderObj.10 {
field = bodytext
}
Jedoch habe ich leider TS noch nicht so richtig verstanden. Die Try and error Methode nerv dann halt immer 😉
Naja auf jeden FAll hab ich mal wieder ein kleines Erfolgserlebnis das mich mit Typo3 weiterarbeiten lässt.
Gruesse und Danke