Ich habe mit yform eine Produkte-Datenbank erstellt. Zu jedem Produkt kann man 1 oder mehrere PDF's hinzufügen. Nun mache ich zusätzlich eine Seite, auf der alle diese PDF's nochmals aufgelistet werden, also quasi eine Download-Übersicht. Weil das selbe PDF teilweise mehreren Produkten zugewiesen wird, setzte ich für die DB-Abfrage DISTINCT ein.
Code: Alles auswählen
<?php
$db_table = "rex_products";
$sql = rex_sql::factory();
$sql->setDebug(false);
$sql->setQuery("SELECT DISTINCT product_download FROM $db_table ");
if($sql->getRows()) {
while($sql->hasNext()) {
$dateiliste = explode(',', $sql->getValue('product_download'));
echo '<p>';
foreach ($dateiliste as $file) {
$media = rex_media::get($file);
if($media) {
echo '<a class="mbr-download__link" target="_blank" href="media/'.$file.'"><i class="fa fa-file-pdf-o" aria-hidden="true"></i> '.$file.'</a><br>';
}
}
echo '</p>';
$sql->next();
}
}
?>
Code: Alles auswählen
$title = $media->getTitle();
hinzufügen.
Somit würde der Code dann so aussehen:
Code: Alles auswählen
<?php
$db_table = "rex_products";
$sql = rex_sql::factory();
$sql->setDebug(false);
$sql->setQuery("SELECT DISTINCT product_download FROM $db_table ");
if($sql->getRows()) {
while($sql->hasNext()) {
$dateiliste = explode(',', $sql->getValue('product_download'));
echo '<p>';
foreach ($dateiliste as $file) {
$media = rex_media::get($file);
$title = $media->getTitle();
if($media) {
echo '<a class="mbr-download__link" target="_blank" href="media/'.$file.'"><i class="fa fa-file-pdf-o" aria-hidden="true"></i> '.$title.'</a><br>';
}
}
echo '</p>';
$sql->next();
}
}
?>
"ErrorException" thrown in rex:///module/25/output on line 15
Fatal error: Call to a member function getTitle() on null
Dieser Teil müsste aber korrekt sein, oder?
Code: Alles auswählen
$title = $media->getTitle();