Seite 1 von 1

Filelist Beschreibung auslesen

Verfasst: Mi 5. Aug 2020, 13:53
von snixzz
Hallo zusammen,

Ich habe eine Filelist um mehrere Logos zu definieren.

Um die Logos zu cachen un zuzuschneiden verwende ich cApiImgScale.

Ich würde jetzt gerne in der Beschreibung eines Logos einen Link setzen, damit ich das angezeigte Logo über die Beschreibung verlinken kann.

Wie erhalte ich die Beschreibung eines Files/Bildes

Anbei mein aktueller Code:

Code: Alles auswählen

// Filelist
ob_start();
echo "CMS_FILELIST[1]";
$filelist1 = ob_get_contents();
ob_end_clean();

$art = new cApiArticleLanguage();
$art->loadByArticleAndLanguageId(cRegistry::getArticleId(), cRegistry::getLanguageId());
$contentValue = $art->getContent("FILELIST", $filelistIndex);

$filelist = new cContentTypeFilelist($contentValue, $filelistIndex, array());
$files = $filelist->getConfiguredFiles();

$pictures = array();

if (is_array($files) && count($files) > 0) {
	foreach ($files as $file) {
        	$pathThumb = $file['path'] . '/' . $file['filename'];
       	 	$filename = $cfgClient[$client]['upload'] . $pathThumb;
        	$fileInfo = new cApiFileInformationCollection();
		array_push($pictures,  cApiImgScale($filename, 434, 296, false, false, 10, true, 80, true));
	}
}

Liebe Grüsse aus der Schweiz

Re: Filelist Beschreibung auslesen

Verfasst: Mi 5. Aug 2020, 15:56
von Faar
Hi zämme,
wenn es um die Metadaten aus dem Upload-Bereich geht, also Medianame, Beschreibung, Author, usw., dann braucht man dazu die Upload-ID. Daneben noch Sprache und Client.
Hat man das erst einmal, sieht die SQL in etwa so aus:

Code: Alles auswählen

if( is_numeric($idupl) ) {
 $query = "SELECT ".$metakey." FROM ".$this->cfg["tab"]["upl_meta"]." WHERE `idupl`='".$idupl."' AND `idlang`='".$this->lang."'";
 }else{ echo "shit happens";}
$metakey ist dann das, was in der Tabelle oben steht.
Kann sein, dass man sich beim auslesen des Querys noch mit utf8 herumschlagen muss, weil praktisch kann die Bildbeschreibung auch in Thai geschrieben sein. Es ist ja sprachenabhängiger Text.

Re: Filelist Beschreibung auslesen

Verfasst: Do 6. Aug 2020, 09:54
von Oldperl
Servus,

oder man nutzt Bordmittel von CONTENIDO, indem man die Klasse cApiUploadMeta dafür einsetzt, und deren Methode loadByUploadIdAndLanguageId($idupl, $idlang).

Gruß aus Franken

Ortwin

Re: Filelist Beschreibung auslesen

Verfasst: Do 6. Aug 2020, 09:55
von snixzz
Grüezi & Dank für die Antwort, ich habe jedoch eine anderen Lösungsansatz umgesetzt, den ich anfänglich übersehen habe.

Wenn der Autor die Filelist setzt, kann dieser über das Tab "Allgemein" die Option "Metadaten laden" definieren, dass diese auch geladen werden und ich somit auf diese zugreifen kann.


Die Ergänzung zu meinem ersten Code:

Code: Alles auswählen

	$picture->description = $file['metadata']['description'];
Wobei "metadata" leer ist solange der Autor nicht definiert, dass diese geladen werden sollen.

Liebe Grüsse aus der Schweiz