Une image aléatoire en page d’accueil (ou ailleurs)

Affichage d’une image aléatoire provenant de toutes les images du site et renvoyant sur l’article d’origine de l’image.

Objectifs

Gérant de nombreux sites d’écoles et d’associations utilisant de nombreuses images j’ai toujours agrémenté mes pages d’accueil de photo pour les enjoliver. Puis rapidement est venue la nécessité d’avoir une image aléatoire puisée dans toutes les images du site pour dynamiser la page d’accueil et permettre une navigation différents.

Sous SPIP 1.8 j’ai utilisé une contrib trouvé sur evaweb une image aléatoire mais hélas inopérante sous SPIP 1.9.

Un peu de technique

Mes connaissance en programmation étant un peu limitée voir quasi nulle je suis allé butiner sur le web pour essayer d’adapter cette ancienne contrib d’evaweb et j’ai trouvé sur SPIP-Contrib un article très intéressant une planche de contact des images du site que j’ai légèrement modifié pour n’afficher qu’une seule image et la transformer en noisette

Mise en place

Il suffit simplement de copier le fichier inc-photo-aleatoire.html dans votre dossier squelette puis d’insérer dans votre squelette à l’endroit désiré le code suivant : <INCLURE{fond=inc-photo-aleatoire}>

Noisette d’image aléatoire

qui contient le code suivant

<BOUCLE_docuImg(DOCUMENTS){doublons}{par hasard}{extension==jpg|png|gif}{0,1}>    
<BOUCLE_chercheLienArticle(SPIP_DOCUMENTS_ARTICLES){id_document}>
#SET{current_id_art, #ID_ARTICLE}</BOUCLE_chercheLienArticle>
<BOUCLE_vignetteArticle(ARTICLES){id_article=#GET{current_id_art}}{0,1}>
[<a href="#URL_ARTICLE">(#FICHIER|reduire_image{150})</a>]</BOUCLE_vignetteArticle>
</BOUCLE_docuImg>

Vous pouvez modifier la taille de l’image en changeant la valeur (150) du filtre réduire_image dans le code : [<a href="#URL_ARTICLE">(#FICHIER|reduire_image{150})</a>]

un exemple sous spip 1.9.2a

Mise à jour

-  02/04/08 : portage en plugin en utilisant le plugin cycle jquery
téléchargeable sur la zone en attendant la documentation

-  07/08/08 : plugin téléchargeable ici et un petit exemple du plugin en action

Discussion

26 discussions

  • Bonjour,
    J’utilise en test cette contribution, mais je n’arrive pas à restreindre la collecte des images à une seule ou plusieurs rubriques définies.
    Sinon, tout marche y compris les liens vers les articles.
    Si quelqu’un lit ces lignes...
    PS : j’ai testé les suggestions pour limiter à id_rubrique=x etc et rien ne marche.
    Par avance merci

    Répondre à ce message

  • Quentin

    Bonjour,

    J’ai installé le plugin v0.2. sur un spip 2.1. Je vois que dans cfg j’ai pas mal d’option. J’ai tout configuré, mais maintenant je ne sais pas quel fichier je dois appeler dans mon squelette pour prendre ne compte ces différents réglages... Merci de votre aide.

    Répondre à ce message

  • bonjour,

    dans l’exemple du site de cemea je vois les articles ou les breves en rotation que utilise tu ?

    cordialement.

    Répondre à ce message

  • Bonjour,

    Boucle très sympa à priori, mais j’ai rajouté un description != [Masquer au public] et une fois cela fait, toutes les autres images étant dans des portfolio n’apparaissent pas. Quelle est la « combine » ? merci

    Répondre à ce message

  • Bonjour

    et si je veux aller chercher non pas une image issue d’articles du site mais plutôt une image d’un dossier précis sur un serveur ? Est-ce possible ?
    Merci

    Répondre à ce message

  • Bonjour,
    Sur mon spip, pour qu’une image différente soit affichée à chaque rafraîchissement, il faut recalculer la page.
    est ce le fonctionnement normal ?

    merci pour vos réponses

    Répondre à ce message

  • Bonjour

    Je débute avec spip et evaweb.
    Je travaille à la construction (au brouillon pour le moment) d’un site Internet d’école.
    Comme j’aime bien l’idée de l’affichage d’une image aléatoire issue des articles du site en page d’accueil, j’ai utilisé le code proposé le 02 avril 2009.
    ok, tout fonctionne Merci au contributeur !

    Mais quand je veux utiliser Thickbox ou Fancybox pour un meilleur affichage des photos dans le cadre d’un portfolio... apparaît un petit problème.

    Les photos placées dans le portfolio n’apparaîssent plus dans l’affichage des images aléatoires et j’ai donc du vide à la place.

    Même problème avec Thickbox pour l’affichage de la photo en plus grand en cliquant dessus
    (j’ai pas encore compris la manip avec Fancybox ; si qq’un a un tuyau ;-)

    Y’aurait-il un moyen de corriger cela ?
    où alors faut-il m’orienter vers un autre système pour l’affichage d’une photo aléatoire et lequel (un pas trop compliqué en tous cas, hein :-)

    En utilisant le même genre de code, serait-il possible de le modifier afin que les images qu’on souhaiterait voir apparaître de façon aléatoire soient issues d’un dossier créé à cet effet dans lequel on les aurait déposées ? (cela demanderait juste une petite manip de plus mais apporterait aussi un certain intérêt). L’idée de limiter la taille de l’image à afficher est à garder.

    Qu’en pensez-vous ?

    Merci d’avance pour l’aide que vous pourrez m’apporter !

    Répondre à ce message

  • mezcalito74

    Bjr à tous !

    voulant agrémenter mon site , surtout la page d’accueuil, j’aimerai justement faire apparître sous le menu de navigation un diapo des images du site défilant au hasard !
    hors je suis sous evaweb3 en spip 1.9.2e et j’avoue ne pas savoir quoi mettre et où !
    la noisette ? c’est un fichier contenant du code, à enregistrer où et comment ?

    dans le squellete ( il se trouve où ds evaweb3 ? ) je dois modifier quel fichier et où pour que le diapo apparaisse bien sous mon menu de navigation ?

    Merci beaucoup d’aider un newbie

    Répondre à ce message

  • 1

    Est ce que quelqu’un aurait la même noisette pour SPIP 2.0.9

    Je n’ai pas dans la table l’entrée « spip_documents_articles » et ne sais pas trop comment faire ...

    • en 2.0.9, on peut utiliser une boucle du genre :

      <BOUCLE_d(DOCUMENTS_LIENS)
                {objet = article}
                {documents.extension IN jpg,png,gif}
                {par hasard}
                {0, 1}>
      
      [<a href="#URL_ARTICLE{#ID_OBJET}">(#LOGO_DOCUMENT||image_reduire{150})</a>]
      
      </BOUCLE_d>

    Répondre à ce message

  • Bonjour,

    Je coince sur un truc, j’ai plusieurs galeries d’images sur mon site et j’aimerais faire un top 10 aléatoire sur une image... c’est-à-dire de trier les 10 articles (galeries) les plus populaires et d’afficher le logo de l’une de ces galeries aléatoirement sur la page d’accueil.

    Est-il possible de faire un « double tri » ? ( ou peut-être de faire communiquer 2 boucles )

    Merci.

    ( suis sous spip 1.9.2b )

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom