lister les 5 dernières photos du site qui peuvent être dans plusieurs articles

Bonjour

je voudrais afficher les 5 dernières photos du site dans une galerie sachant qu'il peut y avoir 1 photo dans un article, 2 dans un autre et 2 dans un autre encore.
Je pense à un compteur boucle mais je ne sais pas ou l'insérer.

Avez vous une piste ?
Merci

Boucle existante :

              <BOUCLE_art_galerie(ARTICLES){titre_mot = photos}{par date}{inverse}>
              <BOUCLE_documents_portfolio(DOCUMENTS) {id_article} {0,5}{mode=document}{extension IN png,jpg,gif} {par num titre, date}{doublons}{inverse}>
              [ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
        |parametre_url{id_document,#ID_DOCUMENT}
        )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
              |image_masque{mon-masque.png}
              |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
              </BOUCLE_documents_portfolio>
              </BOUCLE_art_galerie>

Pour test actuel :
http://www.squashreunionligue.fr/spip.php?var_mode=recalcul
Dans lequel on voit deux rangés de 5 photos car 2 articles (avec des photos) ont le mot clé "photos"

geea a écrit :

Bonjour

je voudrais afficher les 5 dernières photos du site dans une galerie sachant qu'il peut y avoir 1 photo dans un article, 2 dans un autre et 2 dans un autre encore.
Je pense à un compteur boucle mais je ne sais pas ou l'insérer.

Avez vous une piste ?
Merci

Boucle existante :

             <BOUCLE_art_galerie(ARTICLES){titre_mot = photos}{par date}{inverse}>
             <BOUCLE_documents_portfolio(DOCUMENTS) {id_article} {0,5}{mode=document}{extension IN png,jpg,gif} {par num titre, date}{doublons}{inverse}>
             [ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
       |parametre_url{id_document,#ID_DOCUMENT}
       )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
             |image_masque{mon-masque.png} |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
             </BOUCLE_documents_portfolio>
             </BOUCLE_art_galerie>

Pour test actuel :
http://www.squashreunionligue.fr/spip.php?var_mode=recalcul
Dans lequel on voit deux rangés de 5 photos car 2 articles (avec des photos) ont le mot clé "photos"
_______________________________________________
liste spip

et en faisant ?
une première boucle qui va chercher les photos avec {doublons}
puis une 2e qui affiche les 5 plus récentes avec {!doublons}{par date}{inverse}{0,5}

Je ne crois pas que doublon soit la solution. Ou bien je n'ai pas compris sa fonction.
Ma boucle évolue :
              <BOUCLE_documents_portfolio(DOCUMENTS){tout}{par date}{inverse}{0,5}{mode=document}{extension IN png,jpg,gif} >
              [ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
        |parametre_url{id_document,#ID_DOCUMENT}
        )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
              |image_masque{mon-masque.png}
              |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
              </BOUCLE_documents_portfolio>

En effet en mettant les criteres {tout}{par date}{inverse}{0,5} j'ai presque ce que je veux mais çà prend toutes les photos même celle qui ont n'ont pas le mot clés dans l'article "photos"
Si j'insère une boucle article alors dans ma boucle doc je met un id_article et le résultat n'est pas bon.

Jean-Christophe Villeneuve a écrit :

geea a écrit :

Bonjour

je voudrais afficher les 5 dernières photos du site dans une galerie sachant qu'il peut y avoir 1 photo dans un article, 2 dans un autre et 2 dans un autre encore.
Je pense à un compteur boucle mais je ne sais pas ou l'insérer.

Avez vous une piste ?
Merci

Boucle existante :

             <BOUCLE_art_galerie(ARTICLES){titre_mot = photos}{par date}{inverse}>
             <BOUCLE_documents_portfolio(DOCUMENTS) {id_article} {0,5}{mode=document}{extension IN png,jpg,gif} {par num titre, date}{doublons}{inverse}>
             [ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
       |parametre_url{id_document,#ID_DOCUMENT}
       )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
             |image_masque{mon-masque.png} |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
             </BOUCLE_documents_portfolio>
             </BOUCLE_art_galerie>

Pour test actuel :
http://www.squashreunionligue.fr/spip.php?var_mode=recalcul
Dans lequel on voit deux rangés de 5 photos car 2 articles (avec des photos) ont le mot clé "photos"
_______________________________________________
liste spip

et en faisant ?
une première boucle qui va chercher les photos avec {doublons}
puis une 2e qui affiche les 5 plus récentes avec {!doublons}{par date}{inverse}{0,5}

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

geea.spip a écrit :

Je ne crois pas que doublon soit la solution. Ou bien je n'ai pas compris sa fonction.
Ma boucle évolue :
             <BOUCLE_documents_portfolio(DOCUMENTS){tout}{par date}{inverse}{0,5}{mode=document}{extension IN png,jpg,gif} >
             [ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
       |parametre_url{id_document,#ID_DOCUMENT}
       )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
             |image_masque{mon-masque.png} |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
             </BOUCLE_documents_portfolio>

En effet en mettant les criteres {tout}{par date}{inverse}{0,5} j'ai presque ce que je veux mais çà prend toutes les photos même celle qui ont n'ont pas le mot clés dans l'article "photos"
Si j'insère une boucle article alors dans ma boucle doc je met un id_article et le résultat n'est pas bon.

Et si tu fais

<!-- on récupère toutes les photos des articles avec le mot-clé et on stocke dans doublons -->
<BOUCLE_art_galerie(ARTICLES){titre_mot = photos}>
<BOUCLE_selection_documents(DOCUMENTS) {id_article}{mode=document}{extension IN png,jpg,gif}{doublons}>
</BOUCLE_selection_documents>
</BOUCLE_art_galerie>

<!-- on affiche les 5 derniers pris dans doublons -->
<BOUCLE_documents_portfolio(DOCUMENTS) {!doublons}{par date}{inverse}{0,5}>
[ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
       |parametre_url{id_document,#ID_DOCUMENT}
       )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
             |image_masque{mon-masque.png} |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
</BOUCLE_documents_portfolio>

ça donne quoi ?

Çà donne... que du bonheur.
Je n'avais effectivement pas compris à quoi pouvait servir doublons et surtout !doublons

Merci pour ta contribution.

Jean-Christophe Villeneuve a écrit :

geea.spip a écrit :

Je ne crois pas que doublon soit la solution. Ou bien je n'ai pas compris sa fonction.
Ma boucle évolue :
             <BOUCLE_documents_portfolio(DOCUMENTS){tout}{par date}{inverse}{0,5}{mode=document}{extension IN png,jpg,gif} >
             [ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
       |parametre_url{id_document,#ID_DOCUMENT}
       )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
             |image_masque{mon-masque.png} |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
             </BOUCLE_documents_portfolio>

En effet en mettant les criteres {tout}{par date}{inverse}{0,5} j'ai presque ce que je veux mais çà prend toutes les photos même celle qui ont n'ont pas le mot clés dans l'article "photos"
Si j'insère une boucle article alors dans ma boucle doc je met un id_article et le résultat n'est pas bon.

Et si tu fais

<!-- on récupère toutes les photos des articles avec le mot-clé et on stocke dans doublons -->
<BOUCLE_art_galerie(ARTICLES){titre_mot = photos}>
<BOUCLE_selection_documents(DOCUMENTS) {id_article}{mode=document}{extension IN png,jpg,gif}{doublons}>
</BOUCLE_selection_documents>
</BOUCLE_art_galerie>

<!-- on affiche les 5 derniers pris dans doublons -->
<BOUCLE_documents_portfolio(DOCUMENTS) {!doublons}{par date}{inverse}{0,5}>
[ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
      |parametre_url{id_document,#ID_DOCUMENT}
      )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
            |image_masque{mon-masque.png} |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
</BOUCLE_documents_portfolio>

ça donne quoi ?

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Il aurait fallu que j'eusse lu :

Goole a été mon ami.

geea.spip a écrit :

Çà donne... que du bonheur.
Je n'avais effectivement pas compris à quoi pouvait servir doublons et surtout !doublons

Merci pour ta contribution.

Jean-Christophe Villeneuve a écrit :

geea.spip a écrit :

Je ne crois pas que doublon soit la solution. Ou bien je n'ai pas compris sa fonction.
Ma boucle évolue :
             <BOUCLE_documents_portfolio(DOCUMENTS){tout}{par date}{inverse}{0,5}{mode=document}{extension IN png,jpg,gif} >
             [ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
       |parametre_url{id_document,#ID_DOCUMENT}
       )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
             |image_masque{mon-masque.png} |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
             </BOUCLE_documents_portfolio>

En effet en mettant les criteres {tout}{par date}{inverse}{0,5} j'ai presque ce que je veux mais çà prend toutes les photos même celle qui ont n'ont pas le mot clés dans l'article "photos"
Si j'insère une boucle article alors dans ma boucle doc je met un id_article et le résultat n'est pas bon.

Et si tu fais

<!-- on récupère toutes les photos des articles avec le mot-clé et on stocke dans doublons -->
<BOUCLE_art_galerie(ARTICLES){titre_mot = photos}>
<BOUCLE_selection_documents(DOCUMENTS) {id_article}{mode=document}{extension IN png,jpg,gif}{doublons}>
</BOUCLE_selection_documents>
</BOUCLE_art_galerie>

<!-- on affiche les 5 derniers pris dans doublons -->
<BOUCLE_documents_portfolio(DOCUMENTS) {!doublons}{par date}{inverse}{0,5}>
[ <a href="(#URL_DOCUMENT)" type="#MIME_TYPE" onclick="location.href='[(#URL_ARTICLE
      |parametre_url{id_document,#ID_DOCUMENT}
      )]#documents_portfolio';return false;"[ class="(#EXPOSER)"] title="[(#TITRE|attribut_html|couper{80})] [ - (#DESCRIPTIF|attribut_html|couper{80})]">[(#FICHIER
            |image_masque{mon-masque.png} |inserer_attribut{alt,[(#DESCRIPTIF|attribut_html|couper{80})]})]</a> ]
</BOUCLE_documents_portfolio>

ça donne quoi ?

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Bonjour,

je cherche à utiliser cette contribution pour afficher sur ma page d’accueil les 5 dernières photos de mes portfolios, (qui sont dans des articles dans d’autres rubriques) et ensuite pouvoir cliquer sur les vignettes, et aller à l’article correspondant

J’arrive bien à afficher sur la page d’accueil les vignettes des photos, mais lorsque je clique sur les vignettes, je suis renvoyé sur une page avec l’url

comme cette page n’existe pas (id_article=0 dans l’URL) je tombe sur une erreur 404. Auriez-vous une petite idée ? Merci, Eric LM Le 28/01/2010 10:50, geea.spip a écrit :

Quel code utilises-tu exactement ?

Eric Le Meur a écrit :

Eric Le Meur a écrit :

Bonjour,

je cherche à utiliser cette contribution pour afficher sur _ma page d'accuei_l les 5 dernières photos de mes portfolios, (qui sont dans des articles dans d'autres rubriques) et ensuite pouvoir cliquer sur les vignettes, et aller à l'article correspondant

J'arrive bien à afficher sur la page d'accueil les vignettes des photos, mais lorsque je clique sur les vignettes, je suis renvoyé sur une page avec l'url

http://127.0.0.1/BdP2.0/spip.php?page=article&id_article=0&id_document=123#documents_portfolio

comme cette page n'existe pas (id_article=0 dans l'URL) je tombe sur une erreur 404.

Auriez-vous une petite idée ?

Je tenterais #URL_ARTICLE{#ID_OBJET} à la place des #URL_ARTICLE

En fait, j’utilise le code que l’on trouve dans inc-documents.html

<BOUCLE_documents_portfolio(DOCUMENTS) {!doublons}{par date}{inverse}{0,5}>
<a href=« (#URL_DOCUMENT) » type=« #MIME_TYPE » onclick="location.href='[(#URL_ARTICLE

parametre_url{id_document,#ID_DOCUMENT}
)]#documents_portfolio’;return false;« [ class= »(#EXPOSER)« ][ title= »(#TITRE|attribut_html|couper{80})"]>[(#FICHIER
image_reduire{0,100}
inserer_attribut{class,spip_logos}
inserer_attribut{alt,[(#TITRE|attribut_html|couper{80})]})]
</BOUCLE_documents_portfolio>

Merci pour ton aide,

Eric LM

Ok
le problème est que dans la page sommaire, tu n’es pas dans une boucle article.
essaye un truc du genre :

<BOUCLE_documents_portfolio(DOCUMENTS){!doublons}{par date}{inverse}{0,5}>
<BOUCLE_doc_art(spip_documents_liens){id_document}>
[(#LOGO_DOCUMENT)]
</BOUCLE_doc_art>
</BOUCLE_documents_portfolio>

Eric Le Meur a écrit :

Effectivement, ce que tu proposes fonctionne, à condition de mettre un logo à chacune des photos. Ce qui rajoute un peu de travail, mais pourquoi pas ? En tout cas, c’est une piste. Merci beaucoup, je vais continuer à travailler cette question.

Eric LM

Il me semble que si tu as activé GD2 et la génération de vignettes, tu auras bien ton image
Essaye

Eric Le Meur a écrit :

Mille mercis ! Effectivement, j’avais du réinstaller Easyphp il y a quelques temps, et je n’avais pas activé GD2; Et ça marche !

Question annexe : où trouves-tu toutes ces informations ? Car même si j’ai su recopier le code que tu m’as donné, j’aimerais bien comprendre d’où il vient… On dépasse le stade des simples boucles décrites sur le site de spip

Merci,

Eric LM

J’apprends beaucoup en lisant assidument les messages de cette liste.
Je mets de côté certains d’entre eux.
Je vais fouiller parfois sur Je passe parfois par un moteur de recherche Et peu à peu, j’apprends … Là, le principe de la 2e boucle est d’aller dans la table spip_documents_liens récupérer l’id du document Puis d’aller chercher le N° de l’article associé (id_objet) pour créer le lien adéquat Eric Le Meur a écrit :