Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Annonce
ATTENTION
- Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
- Pensez à mettre à jour votre version de Cms Made Simple. Nous ne faisons de support que sur LA dernière version de CmsMadeSimple.
- Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Ces informations demandées nous permettent de mieux vous aider
- Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.
Pages : 1
Discussion fermée
#1 31/08/2010 10:43:08
[Resolu] Affichage aléatoire d'images dans le bandeau titre du site
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.8.2
#~ Nom de l'hébergeur : localhost
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.8.2
#~ Installed Modules:
#~ * CMSMailer: 2.0
#~ * FileManager: 1.0.2
#~ * MenuManager: 1.6.5
#~ * ModuleManager: 1.4
#~ * News: 2.10.6
#~ * nuSOAP: 1.0.2
#~ * Printing: 1.1.0
#~ * Search: 1.6.5
#~ * ThemeManager: 1.1.1
#~ * TinyMCE: 2.7.2
#~ * Album: 0.9.3
#~ * DownCnt: 1.0.0
#~ * FormBuilder: 0.6.4
#~ * Captcha: 0.4.2
#~ * CGExtensions: 1.19.2
#~ * FrontEndUsers: 1.12
#~ * CustomContent: 1.7.3
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * output_compression: false
#~ * max_upload_size: 10000000
#~ * default_upload_permission: 664
#~ * url_rewriting: mod_rewrite
#~ * page_extension: .html
#~ * query_var: page
#~ * use_hierarchy: true
#~ * image_manipulation_prog: GD
#~ * auto_alias_content: true
#~ * locale:
#~ * default_encoding: utf-8
#~ * admin_encoding: utf-8
#~ * set_names: true
#~ Php Information:
#~ * phpversion: 5.3.0
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * E_STRICT: 0
#~ * E_DEPRECATED: 0
#~ * memory_limit: 128M
#~ * max_execution_time: 60
#~ * output_buffering: 1
#~ * safe_mode: Off (Faux)
#~ * file_uploads: On (Vrai)
#~ * post_max_size: 10M
#~ * upload_max_filesize: 10M
#~ * session_save_path: c:/wamp/tmp (0777)
#~ * session_use_cookies: On (Vrai)
#~ * xml_function: On (Vrai)
#~ Server Information:
#~ * Server Api: apache2handler
#~ * Server Db Type: MySQL (mysql)
#~ * Server Db Version: 5.1.36
#~ ----------------------------------------------
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour,
Je souhaiterai, si cela est possible, afficher dans le bandeau correspondant au <header> une image différente d'une page à l'autre. A partir d'un nombre fini d'images de la même taille, 5 à 6 images au maximum, le but est d'afficher une image différente, de façon aléatoire, sur la seconde page affichée par le visiteur et ainsi de suite à chaque changement de page.
Je ne sais pas trop comment faire où insérer du code. J'ai fais quelques essais de code dans la feuille de style mais ce n'est pas concluant.
Si vous avez une idée, je suis preneur.
Merci d'avance
Alain
Dernière modification par AG1111 (15/09/2010 21:42:18)
Hors ligne
#2 31/08/2010 11:26:42
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
très facile et peu être fait en moins de 20 lignes de code dans un UDT
en partant du principe que toutes tes images doivent être contenu dans un répertoire R et préalablement toutes taillées à la bonne taille
le schéma est le suivant en php
//ouvre le répertoire R
//lister les fichiers présents dedans sans entrer dans les sous répertoire
// en prenant soin de ne prendre que les extensions *.jpg *.JPG *.jpeg *.JPEG *.gif *.GIF *.png *.PNG ....
//lire le premier fichiers trouvé et déterminer ses dimensions qui seront mémorisée dans les variable X et Y pour respectivement width et height
//fermer le répertoire R
//Compter combien d'élément dans le tableau résultat on a trouvé dans le répertoire R. Ce nombre est noté N
//Sortir un nombre aléatoire entre 1 et N. Ce nombre est noté A
//déterminer l'image à la position A du tableau de résultat
//faire un echo de la valeur HTML de l'objet image tel que
// <img src='{URL DE L'IMAGE}' alt='image du header' width='{X}' height='{Y}' />ensuite tu insères cet UDT dans le gabarit utilisé tel que {nom_de_ma_balise}
rien de complexe et le net pullule d'info dispo sur chaque partie. Là tu as l'algo général. Demain si tu ajoutes 2 images dans le bon répertoire elles seront prises automatiquement en compte ![]()
twitter - Chez moi - Astuces & Tuto cmsms - Wiki CmsMadeSimple
Mes modules :
» Comptabilisez les clics sur vos liens
» Petites annonces immobilières
» Moteur de chat/discussion/shoutbox full Ajax
» Générez automatiquement les miniatures de site web
» Laissez vos visiteurs uploader des images ou fichiers sur votre site
Hors ligne
#3 31/08/2010 15:06:12
- Jean le Chauve
- Sa Seigneurie le Chauve, Comte du domaine .be

- Lieu : Bruxelles
- Inscription : 13/12/2007
- Messages : 3 384
- Site Web
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
Nommer les 6 images ainsi : image1.jpg, image2.jpg...
Placer dans le gabarit :
{capture assign='num'}{1|rand:6}{/capture}
<img src="uploads/images/image{$num}.jpg" alt="" ... />
Cela donnera <img src="uploads/images/image3.jpg" si c'est le chiffre 3 qui est retourné en random.
Soutien les projets des jeunes talents et jeunes entrepreneurs
Exposition itinérante et ventes aux enchères pour les jeunes artistes plasticiens et stylistes
Structure de soutien pour, avec et par les jeunes de 15 à 30 ans
Structure de soutien pour jeunes jusque 18 ans
Campagne de sensibilisation des transports en commun
Booking artistes francophones
Plugins : ponctuation insécable | obfuscation automatique d'email
Hors ligne
#5 14/09/2010 16:41:16
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
Bonjour,
je reviens vers vous car je coince sur un truc et je tourne en rond.
J'ai créé 7 images de même taille, dans un même répertoire, et qui porte un nom de type image1.jpg, image2.jpg ..etc.
j'ai créé un fichier php, pour tester mon code, qui va :
lire le répertoire,
faire la liste des fichiers images et compter le nombre d'image,
récupérer un nombre aléatoire entre 1 le le nombre max d'images trouvées,
et en fin afficher la bonne image.
Voici ce code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Bienvenue sur mon site !</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p> Début du test </p>
<?php
$num = 0;
echo '<ul>';
if ($dossier = opendir ("../randokerlouan/uploads/Logos"))
echo '<p>apres ouverture</p>';
{
while (false !== ($fichier = readdir($dossier)))
{
if ($fichier != "." && $fichier != ".." && $fichier != "index.php" && !is_dir($fichier))
{
$num++;
echo '<li><a href="../randokerlouan/uploads/Logos/' . $fichier . '">' . $fichier . '</a></li>';
$liste[$num]=$fichier;
}
}
$nb = rand(1,$num);
echo '<p>nombre aleatoire :' . $nb .' bof</p>';
echo '<p>nombre de fichiers :' . $num .' bof</p>';
$fichier=$liste[$nb];
echo '<p>Image à afficher :' . $fichier .' avant affichage</p>';
echo '<img rsc="../randokerlouan/uploads/Logos/' . $fichier . '" alt="logo dynamique" width='987px' height='190px'/>';
}
?>
<p> fin </p>
</body>
</html>
Tout fonctionne sauf l'affichage de l'image.
Pour la ligne "echo '<img rsc="../randokerlouan/uploads/Logos/' . $fichier . '" alt="logo dynamique" width='987px' height='190px'/>';", j'ai un parse error expected "." or";".
En fait je bute sur l'url de l'image je en sais pas la rendre dynamique, j'ai aussi essayé le code de Jean Le Chauve <img src="uploads/images/image{$num}.jpg" alt="" ... /> sans plus de résultat.
Qu'est-ce que je fais mal ?
Merci d'avance pour votre aide
Alain
Hors ligne
#6 14/09/2010 17:43:54
- Jean le Chauve
- Sa Seigneurie le Chauve, Comte du domaine .be

- Lieu : Bruxelles
- Inscription : 13/12/2007
- Messages : 3 384
- Site Web
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
echo '<img rsc="../randokerlouan/uploads/Logos/'.$fichier.'" alt="logo dynamique" width="987px"height="190px" />';
Et supprime les espaces autour des points (.) pour la concaténation des variables : ex
echo '<p>Image à afficher :'.$fichier.' avant affichage</p>'; et pas echo '<p>Image à afficher :' . $fichier . ' avant affichage</p>';
j'ai aussi essayé le code de Jean Le Chauve
{capture assign='num'}{1|rand:6}{/capture}
<img src="uploads/Logos/image{$num}.jpg" alt="logo" title="logo" />Ce code fonctionne parfaitement et n'a pas besoin d'udt, tu le colles simplement à l'endroit où tu désires faire apparaître l'image. Il faut bien entendu que le chemin soit bien configuré. Avec 7 images, tu modifies {1|rand:6} en {1|rand:7}
Et tu peux faire encore plus court :
<img src="uploads/Logos/image{1|rand:7}.jpg" alt="logo" title="logo" />Dernière modification par Jean le Chauve (14/09/2010 17:49:32)
Soutien les projets des jeunes talents et jeunes entrepreneurs
Exposition itinérante et ventes aux enchères pour les jeunes artistes plasticiens et stylistes
Structure de soutien pour, avec et par les jeunes de 15 à 30 ans
Structure de soutien pour jeunes jusque 18 ans
Campagne de sensibilisation des transports en commun
Booking artistes francophones
Plugins : ponctuation insécable | obfuscation automatique d'email
Hors ligne
#7 15/09/2010 11:21:20
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
J'ai modifié mon code comme cela :
}
$nb = rand(1,$num);
echo '<p>nombre aleatoire :'.$nb.' bof</p>';
echo '<p>nombre de fichiers :'.$num.' bof</p>';
$fichier=$liste[$nb];
echo '<p>Image à afficher :'.$fichier.' avant affichage</p>';
echo '<img rsc="../randokerlouan/uploads/Logos/'.$fichier.'" alt="logo dynamique" width="987px" height="190px"/>';
}
le résultat : je n'ai toujours pas d'affichage de mon image.
il m'affiche ceci :
# image7.jpg
nombre aleatoire :1 bof
nombre de fichiers :7 bof
Image à afficher :image1.jpg avant affichage
logo dynamique
fin
Avec firebug, j'ai bien la ligne html avec le nom du fichier comme il faut mais rien ne s'affiche à part ce qu'il y a dans l'attribut alt de la balise img. Je ne comprends pas pourquoi je n'ai pas d'affichage alors que les liens pointent bien sur les bon fichiers et eux ils s'affichent. As-tu un explication ?
Merci pour tes réponses
Alain
Hors ligne
#8 15/09/2010 11:40:22
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
Bon j'ai re-testé ton code et en effet cela marche du feu de dieu. Donc mon problème est résolu. Malgré tous si tu pouvais éclairer ma lanterne au sujet de l'affichage de mon image dans mon fichier php je t'en serai reconnaissant.
Merci d'avance
Alain
Hors ligne
#9 15/09/2010 12:24:40
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
echo '<img rsc="../randokerlouan/uploads/Logos/'.$fichier.'" alt="logo dynamique" width="987px" height="190px"/>';
![]()
twitter - Chez moi - Astuces & Tuto cmsms - Wiki CmsMadeSimple
Mes modules :
» Comptabilisez les clics sur vos liens
» Petites annonces immobilières
» Moteur de chat/discussion/shoutbox full Ajax
» Générez automatiquement les miniatures de site web
» Laissez vos visiteurs uploader des images ou fichiers sur votre site
Hors ligne
#10 15/09/2010 15:52:57
- Jean le Chauve
- Sa Seigneurie le Chauve, Comte du domaine .be

- Lieu : Bruxelles
- Inscription : 13/12/2007
- Messages : 3 384
- Site Web
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
Comme quoi notre cerveau est bien fait : il remet les lettres dans le bon ordre.
Moralité : utiliser un bon éditeur quand on code.
Soutien les projets des jeunes talents et jeunes entrepreneurs
Exposition itinérante et ventes aux enchères pour les jeunes artistes plasticiens et stylistes
Structure de soutien pour, avec et par les jeunes de 15 à 30 ans
Structure de soutien pour jeunes jusque 18 ans
Campagne de sensibilisation des transports en commun
Booking artistes francophones
Plugins : ponctuation insécable | obfuscation automatique d'email
Hors ligne
#11 15/09/2010 21:41:47
Re : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site
Merci à tous les 2, c'est vrai les lettres dans le bon ordre cela marche beaucoup mieux.
Je modifie mon premier poste et je vous dis à bientôt pour d'autres aventures....
Cordialement
Alain
Hors ligne
Pages : 1
Discussion fermée