Hallo alle zusammen ...
Ich hab da n kleines Problem.
Ist stand:
dam_filelinks, tx_dam, css_styled_filelinks
Soll stand:
Selbst erstellte Extension soll Dateinamen von der dam Extension bekommen.
Problem:
Woher bekomme ich diesen Dateinamen?
Ich weiss, dass er sich in der Tabelle "tx_dam.title" befindet.
Unterschiede:
In standard Contentelementen sieht das "Dateiauswahlfeld" nach der Installation von "dam" anders. Es erscheint ein "[icon] Media" und der Durchsuchen Button ist verschwunden.
So soll es sein.
Wenn ich bei meiner Extension ein Fileupload im Kickstarter auswähle dann kommt das Standard "Dateiauswahl + Upload Feld".
Hat einer ne Idee wie ich ans Ziel komme?
Mein 1. Lösungsansatz war hier beschrieben:
http://www.sven-jaeger.net/typo3-tutorials/bildinformationen-aus-dam-fuer-eigene-extension-nutzen.html
Ich stellte aber schnell fest das es doch nicht funktioniert. Und zwar weil die Felder über die tt_content mit tx_dam_tracking... verknüpft werden in tt_content nicht gefüllt sind.
Also ich hoffe mir kann jemand helfen finde auch nix im Netz 🙁
Grüße vom digi 🙂
Habe es nun hinbekommen.
Ist im Prinzip simpel.
1. Eigene Extension anlegen
2. Installieren der Extension: "dam_ttcontent"
3. Ordner der ext. "dam_ttcontent"
4. Datei "ext_tables.php" öffnen
5. seinen eigenen CType hinzufügen. Beispiel:
## CType textmitdatei_pi1 wird Media hinzugefügt
if ($tempSetup['ctype_textpic_add_ref']) {
if ($tempSetup['ctype_textpic_add_orig_field']) {
t3lib_extMgm::addToAllTCAtypes('tt_content','tx_damttcontent_files','textmitdatei_pi1','after:beliebiges Feld');
} else {
$TCA['tt_content']['types']['textpic']['showitem'] = str_replace(', image;', ', tx_damttcontent_files;', $TCA['tt_content']['types']['textmitdatei_pi1']['showitem']);
}
}
Nun habt Ihr in eurer Extension das Auswahlfeld für Media und die ausgewählten Dateien können Referenziert werden.
6. Eigene Extension XYZ_pi1 öffnen
7. SQL Select anweisung habe ich so gemacht:
$file = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'tx_dam.file_name, tx_dam.file_path, tx_dam.title',
'tx_dam_mm_ref,tx_dam',
'tx_dam_mm_ref.uid_foreign='.$this->cObj->data["uid"].
' AND tx_dam_mm_ref.ident="tx_damttcontent_files" AND tx_dam_mm_ref.uid_local=tx_dam.uid AND NOT tx_dam.deleted',
'',
'',
'',1
);
while ($daten = $GLOBALS['TYPO3_DB']->sql_fetch_row($file)) {
if ($daten[0]&&$daten[1]&&$daten[2]) {
$ausgabe.= "<div class=\"filelink\"><a href=\"" . $daten[1] . $daten[0]."\""."><img src=\"fileadmin/template/files/pdf_icon.gif\" alt=\"Pdf-Logo\" />" . $daten[2] . "</a></div>";
} else {
$ausgabe.= "<div class=\"filelink\"></div>";
}
}
Und schon ist alles schön.