Rocksolid Custom Elements: den Link zu Dateien zum Herunterladen richtig generieren
Ich habe einen eigenen Elementtyp mit Hilfe der Erweiterung Rocksolid Custom Elements erstellt. Da möchte ich ein Bild abfragen, darstellen und noch die dazu passende Datei unter dem Bild zum Herunterladen anbieten.
Allerdings merkt Contao, dass es sich um kein echtes Inhaltselement ce_dowload handelt, deswegen wird der Link nicht als der zum Herunterladen erkannt und daher passiert nach dem Anklicken nichts.
Meine Frage: in welchem Format muss dann die PHP-Ausgabe sein, damit ein richtiger Link generiert wird, mit dem man die Datei herunterladen kann?
Eingabe
PHP-Code:
'document' => array(
'label' => array('Datei zum Herunterladen', ''),
'inputType' => 'fileTree',
'eval' => array(
'fieldType' => 'radio',
'filesOnly' => true,
'extensions' => \Config::get('allowedDownload'),
'isDownloads'=> true,
'tl_class' => 'w50'),
),
Ausgabe
PHP-Code:
<?php if ($box->document): ?>
<div class="download-box-links">
<a href="de/?file={{file::<?= $box->document ?>}}"><span class="fa fa-download"></span><span class="link-label"><?php echo $box->linkLabel ?></span></a>
</div>
<?php endif ?>
Link aus dem Dateisystem für Bild oder Datei auslesen und ausgeben
Ich möchte noch für alle Bilder, die man auswählt, auch die Links ausgeben, die als Metainformation im Dateisystem eingetragen sind. Mit welcher Anweisung kann ich es erreichen?
Ich dachte somit:
PHP-Code:
<?php if ($image->href): ?>
<a href="<?php echo $image['href'] ?>"
<?php endif ?>
Die ganze Schleife sieht momentan so aus
PHP-Code:
<?php foreach ($images as $uuid): ?>
<?php if ($this->href): ?>
<a href="<?php echo $image['href'] ?>"
<?php endif ?>
<?php if ($image = $this->getImageObject($uuid)): ?>
<img src="<?php echo $image->src ?>"<?php echo $image->imgSize ?> alt="<?php echo $image->alt ?>">
<?php endif ?>
<?php if ($this->href): ?>
</a>
<?php endif ?>
<?php endforeach ?>
Das funktioniert allerdings nicht.