Ich arbeite beim dma mit individualisierten Templates um diverse spezielle HTML/JS-Ausgaben integrieren zu können. In diesem Zusammenhang versuche ich gerade die Informationen aus dem Feldtyp Dateiauswahl / filetree auszulesen und ihn ein ähnliches HTML-Format zu bringen, wie das normale Downloads-Element aus dem Contao-Core.
Die Dateien sollen als Listenelemente ausgegeben werden, vorangestellt jeweils ein img-Icon, mit der Dateibeschriftung die in der Dateiverwaltung hinterlegt wurde (sofern eine vorhanden ist, sonst ggf. der Dateiname) und im Link noch die Größenangabe haben.
Bisher sieht mein Ansatz so aus:
PHP-Code:
<div class="ce_downloads block">
<ul>
<?php
$arrCount = count($this->data['download']['value']);
for($i = 0; $i < $arrCount; $i++)
{
echo '<li><img src="assets/contao/images/' . $this->data['download']['value'][$i]['attributes']['icon'] . '" alt="' . $this->data['download']['value'][$i]['attributes']['extension'] . '" class="mime_icon" height="18" width="18"> <a href="' . $this->data['download']['value'][$i]['dl'] . '" title="...">...<span class="size">(' . $this->data['download']['value'][$i]['attributes']['size'] . ')</span></a></li>';
}
?>
</ul>
</div>
Bisher funktioniert:
- Die Listenausgabe
- Das img-Icon erscheint korrekt und hat auch den passenden Alternativnamen (Dateiendung)
- Der Link hat die korrekte Link-URL
Probleme gibt es noch hiermit:
- Die Größenangabe wird einfach als Zahlenreihe ausgegeben, nicht - wie im Core - als Größenangabe wie z.B. 15.4 KB oder 1.2 MB.
- Ich habe nicht die geringste Ahnung, wie ich den Meta-Titel aus der Dateiverwaltung auslesen kann. Ich würde sehr ungern ein auszufüllendes Feld dafür im dma-Element erstellen, sondern viel lieber auf die normale Contao-Metainfo zurückgreifen, die in der Dateiverwaltung gepflegt wird.
- Außerdem würde ich gerne herausfinden, wie ich den reinen Dateinamen herausfinden kann. In den Variablen finde ich immer nur die ganzen Pfadangaben. So könnte man dann eine Schleife schreiben, dass der Dateiname als Linktext ausgegeben wird, falls kein Meta-Titel hinterlegt wurde
Es wäre schön, wenn mir jemand dabei hilft, damit wir auch für diesen Feldtyp eine Vorlage haben.
Lesezeichen