présentation photos vignettes + défilement + légendes

ddd
Eléphanteau du PHP | 13 Messages

25 déc. 2010, 16:02

Bonjour à tous !

Je suis occupé de construire un site pour une styliste-illustratrice et deux problèmes se posent à moi.
Etant graphiste orienté pré-press à la base mes connaissances en web sont limitées, le php et le javascript sont encore trop flou pour maîtriser leurs manipulations.

Premier problème:

J'utilise un système de présentation nommé Djuve.
Système de défilement d'images avec vignettes.

voir exemple ci-joint:

http://erika.pocketdesigners.be/index.p ... /creation/

Pour éviter lors des rajouts de photos d'avoir la ligne des vignettes qui se rallonge ou se mette sur deux lignes,

comme sur cette exemple:
http://erika.pocketdesigners.be/index.p ... 01/custom/

j'aimerais modifier le code php du pluging pour qu'après 26 vignettes il soit possible de les faire défiler par un système de flèches (gauche droite < >) pouvez-vous m'aider?

Quel code faut-il insérer et à quel endroit ?

voici le code du pluging: exhibait.djuve.php
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

<?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'] . '&nbsp;';
	    $caption 	= ($go['media_caption'] == '') ? '&nbsp;' : $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><em>{$title}</em><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 {}
    #d-image { };
	#text { margin-left: 1em; float: right; width: 200px; }";
	#info {width: 800; border: none;}
}



?>




- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Deuxièmement est-il possible d'insérer un ligne de code définissant le nom "générique" Css des légendes photos: pour l'instant j'utilise le nom suivant :

#p1.pic { … }


qui existe par défaut, mais il est valable pour la première légende de la première photos.
Et je ne trouve pas le nom qui me permettrait de toutes les modifier en une fois. J'imagine qu'il n'à pas été nommé dans le code…? Et je ne souhait pas m'amuser à créer un
#p1.pic { … },
#p2.pic { … },
#p2.pic { … }
et ainsi de suite,... pour chaque légende de chaque photo… ce ne serait pas la solution adéquate.


Dernier point, le système de présentation des légendes propose un titre et un sous titre qui sont présentés sur 2 lignes , est il possible de les avoir sur une ligne. Quel ligne faut-il modifier dans le code pour y arriver?

(présentation par défaut)

Titre:
Sous titre

présentation souhaitée -> Titre: sous titre


Un petit coup de main serait vraiment le bienvenu, j'attend votre réponse avec impatience pour pouvoir terminer ce site.

Si vous avez besoin d'autres informations, demandez le moi.


Merci d'avance pour vos réponses!

ddd

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 déc. 2010, 11:34

Modération :
Le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.


En annexe, devlopnet, tu as un bouton "signaler" qui est infiniment plus pratique que le pavé que tu as mis.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ddd
Eléphanteau du PHP | 13 Messages

26 déc. 2010, 14:06

Veuillez m'escuser, je n'avais pas prit connaissance du réglement.
Voilà qui est fait !

Un bouton "signaler" plus pratique que mon pavé ? je ne le trouve pas, je ne comprend pas ? ...

ViPHP
xTG
ViPHP | 7331 Messages

26 déc. 2010, 16:45

Un bouton "signaler" plus pratique que mon pavé ? je ne le trouve pas, je ne comprend pas ? ...
Ton pseudo n'est pas devlopnet donc ce n'était pas pour toi mais pour l'auteur du même nom dont le message a du être supprimé par le modérateur. :)

Invité
Invité n'ayant pas de compte PHPfrance

26 déc. 2010, 21:59

ok :)

Invité
Invité n'ayant pas de compte PHPfrance

27 déc. 2010, 11:29

Bonjour,

Une petite lumière sur ce sujet serait-elle possible ?
J'ai beau chercher, mes acquis ne me permettent pas de comprendre comment il faut faire.

Le php est dans ma liste prioritaire d'apprentissage, mais procédant par étape j'aimerais maîtriser l'html, le css et le javascript avant de m'y plonger sérieusement, comme ce petit univers ne s'apprend pas en un jour je me permet de faire appel à vos connaissances en attendant.

Merci pour votre aide.