Petit problème à résoudre:
J'utilise le pluging "Djuve" permettant d'avoir un système de présentation photos avec vignettes.
<?php if (!defined('SITE')) exit('No direct script access allowed');
/**
* Djuve
*
* Exhibition format
*
* @version 0.1 (experimental copy&paste)
* @author Kjetil Djuve (http://www.kjetildjuve.com/)
* @based on/mix of: Vaska's Iwakami/Backgrounded/Deux Column Exhibition formats (http://indexhibit.org/)
*/
// defaults from the general libary - be sure these are installed
$exhibit['dyn_css'] = dynamicCSS();
$exhibit['dyn_js'] = dynamicJS();
$exhibit['exhibit'] = createExhibit();
function dynamicJS()
{
return "function show_image(id)
{
$('.pic').hide();
$('#p' + id).fadeIn();
return false;
}";
}
function createExhibit()
{
$OBJ =& get_instance();
global $rs;
$pages = $OBJ->db->fetchArray("SELECT *
FROM ".PX."media, ".PX."objects_prefs
WHERE media_ref_id = '$rs[id]'
AND obj_ref_type = 'exhibit'
AND obj_ref_type = media_obj_type
ORDER BY media_order ASC, media_id ASC");
// content text
if (!$pages) return $s;
$i = 1; $a = ''; $b = '';
$total = count($pages);
// people will probably want to customize this up
foreach ($pages as $go)
{
$title = ($go['media_title'] == '') ? '' : $go['media_title'] . ' ';
$caption = ($go['media_caption'] == '') ? ' ' : $go['media_caption'];
$png = ($go['media_mime'] == 'png') ? " class='png'" : '';
$a .= "\n<a href='#' onclick=\"show_image($i);return false;\"><img src='" . BASEURL . GIMGS . "/sys-$go[media_file]' alt='$caption' title='$title' id='img$i'$png /></a>\n";
$x = getimagesize(DIRNAME . GIMGS . '/' . $go['media_file']);
$off = ($i == 1) ? "style='display: block;'" : "style='display: none;'";
$next = ($i == $total) ? 1 : $i+1;
$b .= "\n<div id='p$i' class='pic' $off><a href='#' onclick=\"show_image($next); return false;\"><img src='" . BASEURL . GIMGS . "/$go[media_file]' width='" . $x[0] . "' height='" . $x[1] . "' class='img-bot' /></a><p><djuvetitreleg>{$title}</djuvetitreleg><br />{$caption}</p></div>\n";
$i++;
}
// image
$s .= "<div id='d-image'>\n";
$s .= $b;
$s .= "</div>\n";
$s .= "</div>\n\n";
// thumbs
$s .= "<div id='img-container'>\n";
$s .= "<div id='d-thumbs'>\n";
$s .= $a;
$s .= "</div>\n";
$s .= "<div id='text'>";
$s .= $txt;
$s .= "</div>\n";
// exhibition text make sure process html switch is off - use .css to define 'info' and 'info' class
$s .= "<div id='info'; class='info'>".$rs['content'] ;
$s .= "</div>\n";
$s .= "<div class='clear-both'><!-- --></div>\n\n";
return $s;
}
function dynamicCSS()
{
return "#d-image img {border: 0px solid #f2f2f2; margin: 9px 0px 0px 0px; }
#d-thumbs { margin: 0px 0px 0px 0px;}
#d-thumbs img {padding: 0; border: none; height: 40px; width: 40px; }
#d-image { };
#text { margin-left: 1em; float: right; width: 200px; }";
#info {width: 800; border: none;}
}
?>
Ce plugging génère des vignettes carrées (ex; http://www.juliedebieve.com/index.php?/ ... /creation/ ), mais je souhaite avoir des vignettes de taille rectangulaire
lorsque je modifie le code Css:
Code : Tout sélectionner
#d-thumbs img {padding: 0; border: none; height: 40px; width: 40px; }
Code : Tout sélectionner
#d-thumbs img {padding: 0; border: none; height: 40px; width: auto; }
par contre en utilisant le code:
Code : Tout sélectionner
#d-thumbs img {padding: 0; border: none; height: 40px; width: 80px; }
Comment faire pour obtenir des rectangles, qui même si leurs tailles n'est pas proportionnel à celles des photos d'origine permettant d'avoir des vignettes non déformées. En faite j'aimerais le même principe qu'avec les carrés sauf que ce sont des rectangles.
Faut-il changer quelque chose dans le code php ?
Merci pour votre réponse