Seite 1 von 1
cContentTypeFilelist() Medianame
Verfasst: Mo 29. Feb 2016, 14:48
von Faar
Wie macht ihr es, dort den Medianamen heraus zu holen?
Code: Alles auswählen
$filelist = new cContentTypeFilelist($contentValue, $filelistIndex, array());
$files = $filelist->getConfiguredFiles();
Dort in der Klasse steht, dass man einen Parameter übergeben muss, als array() getarnt, damit auch der Medianame kommt.
Aber bei mir tut es das nicht

Re: cContentTypeFilelist() Medianame
Verfasst: Mo 29. Feb 2016, 16:41
von rethus
Ein leerer Array wird da nichts bewirken.
Schau dir mal den Quelltext-kommentar zur Konstruktor-Methode an, dann dürfte einges klarer werden:
http://api.contenido.org/con498/source- ... _construct
* @param array $contentTypes
89: * array containing the values of all content types
Re: cContentTypeFilelist() Medianame
Verfasst: Mo 29. Feb 2016, 17:18
von Faar
rethus hat geschrieben:Schau dir mal den Quelltext-kommentar zur Konstruktor-Methode an, dann dürfte einges klarer werden:
Gut, und wie würdest du es dann machen?
Das war ja meine Frage.
Re: cContentTypeFilelist() Medianame
Verfasst: Di 8. Mär 2016, 14:32
von dermicha
Hast Du Dir das Standard-Bildergaleriemodul mal angesehen?:
Code: Alles auswählen
$filelist = new cContentTypeFilelist($contentValue, $filelistIndex, array());
$files = $filelist->getConfiguredFiles();
$pictures = array();
if (count($files) > 0) {
foreach ($files as $file) {
$pathThumb = $file['path'] . '/' . $file['filename'];
$record = array();
$record['thumb'] = cApiImgScale($pathThumb, 319, 199);
$record['lightbox'] = $cfgClient[$client]['upload'] . $pathThumb;
$record['description'] = $file['metadata']['description'];
$record['copyright'] = $file['metadata']['copyright'];
array_push($pictures, $record);
}
}
Analog zur Description kann man auch den Medianame in das Array einfügen.
Re: cContentTypeFilelist() Medianame
Verfasst: Di 8. Mär 2016, 14:38
von Faar
dermicha hat geschrieben:Hast Du Dir das Standard-Bildergaleriemodul mal angesehen?:
Ja.
Analog zur Description kann man auch den Medianame in das Array einfügen.
Und genau damit funktioniert es nicht. Weder mit Description noch mit Medianame.
Ich vermute einfach mal vorsichtig, dass der Code so überhaupt keine Metadaten ausspucken kann, weil man vorher irgendwelche Arrays mitschicken muss oder vielleicht mit Set() irgendeine Variable setzen.
Code: Alles auswählen
$filelist = new cContentTypeFilelist($contentValue, $filelistIndex, array());
Wie muss das array() gestaltet sein?
Re: cContentTypeFilelist() Medianame
Verfasst: Di 8. Mär 2016, 23:54
von homtata
Kannst du denn mal den zusammenhängenden Code posten, den du verwenden willst? Eigentlich müsste das Auslesen lt. Klasse klappen.. Vielleicht ist da noch irgendwo ein Architekturfehler im Code...
Re: cContentTypeFilelist() Medianame
Verfasst: Mi 9. Mär 2016, 08:15
von Faar
Moin,
das ist fast wie der Code oben drüber bei @dermicha.
Und in der Klasse wird folgendes abgefragt:
Code: Alles auswählen
if ($this->_settings['filelist_incl_metadata'] === 'true') { ...
Nun, dieses
_settings['filelist_incl_metadata'] = 'true' wird wie gesetzt?
Ohne dieses true werden keine Metadaten ausgespuckt, auch keine Description.
Das Standard-Bildergalerie Modul wirft bei meiner Testinstallation (Contenido Demo) nämlich auch keine Description aus, funktioniert also gar nicht richtig.
Wie setze ich nun
_settings['filelist_incl_metadata'] = 'true' ?
Das wusste der Entwickler des Standard Galeriemoduls scheints auch nicht, sonst hätte er es getan.
Re: cContentTypeFilelist() Medianame
Verfasst: Mi 9. Mär 2016, 09:04
von homtata
Keine Ahnung.
Falls dir die Abfrage zu jedem Bild die idupl ausspuckt, kannst du es auch wie folgt einfach anders regeln:
Code: Alles auswählen
// get metatags for the source image
$meta = new cApiUploadMeta();
$meta->loadByUploadIdAndLanguageId( $oUploadItem->get('idupl'), $lang );
$aImgData['medianame'] = $meta->get('medianame');
$aImgData['description'] = $meta->get('description');
$aImgData['copyright'] = $meta->get('copyright');
$aImgData['keywords'] = $meta->get('keywords');
$aImgData['internal_description'] = $meta->get('internal_description');
Re: cContentTypeFilelist() Medianame
Verfasst: Mi 9. Mär 2016, 09:23
von dermicha
wird wahrscheinlich die Checkbox im Filelist-Dialog (im Editor) unter dem Tab "Allgemein" sein. Finde ich auch tückisch, dass das nicht als Standard aktiviert ist...
Re: cContentTypeFilelist() Medianame
Verfasst: Mi 9. Mär 2016, 14:52
von Faar
dermicha hat geschrieben:wird wahrscheinlich die Checkbox im Filelist-Dialog (im Editor) unter dem Tab "Allgemein" sein.
Ich habe jetzt mal "medianame" ins Template aufgenommen und siehe da, nichts passiert, weil die Änderung im Template über das Frontend nicht dargestellt wird. Das zugefügte <p> existiert einfach nicht, trotz Cache löschen und Code erzwingen.
Nun, die Description wird tatsächlich angezeigt, also müsste es doch auch mit dem Medianame so sein... dachte ich.
Also habe ich mal die Zeichenanzahl bei Description auf 5 geändert, um zu sehen, ob sich da überhaupt was tut.
Und siehe da, man sieht nichts!
Wortwörtlich nichts, die Galerie wird nicht mehr angezeigt und der Seitenaufbau im Frontend abgebochen.
Der Errorlog sagt folgendes:
Code: Alles auswählen
PHP Fatal error: Class 'ccString' not found in /.../contenido/classes/content_types/class.content.type.filelist.php on line 305
Für diejenigen die es interessiert:
Zeile 305 in class.content.type.filelist.php ein c bei ccString weg nehmen.
Code: Alles auswählen
$metaData[$identName] = cString::trimAfterWord(cSecurity::unFilter($string), $this->_settings['filelist_md_' . $identName . '_limit']) . '...';
Dann läuft das wieder.

Re: cContentTypeFilelist() Medianame
Verfasst: Mi 9. Mär 2016, 15:17
von Faar
Und an das Entwicklerteam dieses Content-Types: bitte benützt beim Kürzen der Ausgabe das
… als
Auslassungspunkte und nicht 3 Punkte
...
3 Punkte sind 3 einzelne Zeichen aber … ist 1 Zeichen und das richtige für diesen Fall.
Re: cContentTypeFilelist() Medianame
Verfasst: Do 17. Mär 2016, 12:25
von frederic.schneider_4fb
Danke, Faar, ein, wie ich finde, guter Hinweis. Ich nehme das mal mit in die Diskussion im Entwicklerteam!
Re: cContentTypeFilelist() Medianame
Verfasst: Do 24. Mär 2016, 10:49
von frederic.schneider_4fb
Wir nehmen das als Ticket für eine der nächsten Versionen auf
Re: cContentTypeFilelist() Medianame
Verfasst: Do 28. Apr 2016, 17:28
von Faar
dermicha hat geschrieben: wird wahrscheinlich die Checkbox im Filelist-Dialog (im Editor) unter dem Tab "Allgemein" sein. Finde ich auch tückisch, dass das nicht als Standard aktiviert ist...
Das stimmt schon, das ist gut versteckt, aber das Problem ist, man muss es jedesmal in jeder Seite anklicken, statt dass man es als default Wert ins Programm schreiben könnte.
Hat man 100 Seiten mit je 3 Galerien, weiß man was man getan hat
