Page 1 of 1

Medien-Eigenschaften

Posted: Wed Aug 28, 2013 3:19 pm
by reinhardl
hallo,

kann am eigentlich die Medien-Eigenschaften von Bildern in der Mediendatenbank im Template auslesen?

Grüße

Re: Medien-Eigenschaften

Posted: Wed Aug 28, 2013 4:16 pm
by garvinhicking
Hi!

Jein :-)

Es gibt keine Smarty-Funktion dafür, aber die s9y PHP Funktionen zum auslesen der Eigenschaften sind da. Man kann also über die config.inc.php eine Smarty-Funktion/Modifier setzen, mit der man die API-Funktionen serendipity_parseMediaProperties() und serendipity_getMetaData (und gggf. auch serendipity_prepareMedia() diese Attribute auslesen. Da ist dann sehr viel vorhanden.

Einfacher wird es womöglich über serendipity_fetchMediaProperties(), dem muss man nur die ID des Bildes übermitteln. Die ID wiederum kann man aus dem <!--s9ymdb--> kommentar auslesen, oder die serendipity_images Datenbanktabelle abfragen um da anhand des Dateinamens eine ID rauszunehmen, um die dann an die Funktion zu übermitteln.

Hey, wer sagte dass es einfach ist. ;-)

VG,
Garvin

Re: Medien-Eigenschaften

Posted: Fri Aug 30, 2013 8:50 am
by reinhardl
Also

es wird ja schon in der config.inc.php das Verzeichnis gelesen:

Code: Select all

function serendipity_template_smarty_getdir($params, $smarty)  {
    global $serendipity;
    if (!empty($params['element']) && $dir = opendir($serendipity['serendipityPath'].$params['element'])) {
        while (false !== ($file = readdir($dir))) {
            if($file != ".." && $file != "." && strpos($file,'serendipityThumb.') == false) {
                $filelist[] = $file;
            }
        }
        closedir($dir);
        asort($filelist);
    }
    $smarty->assign('filelist', $filelist);
}
                      
$serendipity['smarty']->registerPlugin('function', 'serendipity_template_getdir', 'serendipity_template_smarty_getdir');
könnte man nicht diese Funktion darin integrieren / kombinieren?

Code: Select all

function showimage($filename, $i_want = 'description') {
   $id = serendipity_db_query("SELECT ... FROM images WHERE bla LIKE '%filename%'");
   $media = serendipity_fetchMediaProperties($id);
   serendipity_prepareMedia($media);
   return $media[$i_want];
}
$serendipity['smarty']->register_modifier('showimage', 'showimage');

Re: Medien-Eigenschaften

Posted: Mon Sep 02, 2013 1:46 pm
by garvinhicking
Hi!

Ja, genau an so etwas hatte ich gedacht!

Grüße,
Garvin