Liste der Anhänge anzeigen (Anzahl: 1)
vorübergehende Lösung
Ich habe für meinen Anwendungsfall eine Lösung gefunden. Vielleicht kann die jemand in der ein oder anderen Form noch gebrauchen.
Für die Darstellung der Download-Links nutze ich im FE das Modul "Bestellungsdetails" und habe hier ein eigenes Template "iso_collection_order" angelegt. Das Template ist vom Grundaufbau wie das original "iso_collection_default" Template. Interessanterweise wird dieses Modul auch für die BE-Darstellung der Bestelldetails genutzt.
Heißt: Wenn ich in dem Modul mein eigenes Template angebe, greift das auch für das BE.
Ich habe deshalb das default-Template erweitert um folgendes:
PHP-Code:
<?php if (TL_MODE == 'BE'): ?>
<?php if (!$this->isEditable && count($this->downloads)): ?>
<fieldset id="pal_downloads" class="tl_box">
<legend>Download-Verwaltung</legend>
<ul>
<?php foreach ($this->downloads as $download): ?>
<li class="available">
Dateiname:
<a href="<?php echo $download['href']; ?>"><?php echo $download['title']; ?></a><?php echo $download['remaining']; ?>
</li>
<?php endforeach; ?>
</ul>
<h3>Download zurücksetzen</h3>
<p>Wählen Sie die Datei aus, für die Sie den Download zurücksetzen wollen. Zusätzlich können Sie die Anzahl der verfügbaren Downloads eingrenzen.</p>
<div class="w50">
<h3><label for="reset_id">Download-Datei:</label> </h3>
<select name="reset_id" id="reset_id" class="tl_select">
<?php foreach ($this->downloads as $download): ?>
<option value="<?php echo $download['id']; ?>"><?php echo $download['title']; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="w50">
<h3><label for="reset_remaining">Anzahl der verfügbaren Downloads:</label> </h3>
<input type="number" name="reset_remaining" id="reset_remaining" class="tl_text" alt="" value="3">
</div>
<input type="submit" name="reset_download" id="reset" class="tl_submit" alt="" value="Download zurücksetzen">
</fieldset>
<?php endif; ?>
<?php endif; ?>
<?php
if ($this->Input->post('reset_download')) {
$resetId = $this->Input->post('reset_id');
if ($resetId) {
if (is_numeric($resetRemaining = $this->Input->post('reset_remaining'))) {
\Database::getInstance()->prepare("UPDATE tl_iso_product_collection_download SET downloads_remaining=? WHERE id=?")
->execute($resetRemaining, $resetId);
}
}
}
?>
Im BE sieht das ganze dann so aus: Anhang 16747