Filelist Beschreibung auslesen

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
snixzz
Beiträge: 22
Registriert: Mi 15. Jul 2020, 16:18
Wohnort: Schweiz
Kontaktdaten:

Filelist Beschreibung auslesen

Beitrag von snixzz » Mi 5. Aug 2020, 13:53

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

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Filelist Beschreibung auslesen

Beitrag von Faar » Mi 5. Aug 2020, 15:56

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.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Filelist Beschreibung auslesen

Beitrag von Oldperl » Do 6. Aug 2020, 09:54

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
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

snixzz
Beiträge: 22
Registriert: Mi 15. Jul 2020, 16:18
Wohnort: Schweiz
Kontaktdaten:

Re: Filelist Beschreibung auslesen

Beitrag von snixzz » Do 6. Aug 2020, 09:55

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

Antworten