Rendre cliquable une image associée à un article

Bonjour,

Sur la page d’accueil d’un site, je souhaite afficher en aléatoire un document (si il existe) puis en cliquant dessus rejoindre l’article attaché.

J’ai testé ça sans résultat

<BOUCLE_docu(DOCUMENTS) {par hasard}{0,1}

<BOUCLE_lien-article(ARTICLES) {id_article}>

</BOUCLE_lien-articles>

#FICHIER

J’arrive à afficher un document parmi ceux qui existent et j’arrive à afficher le lien d’un article pris au hasard.
Mais pas les deux ensemble!
:wink:

Beru

Beru Beru a écrit :

Bonjour,

Sur la page d'accueil d'un site, je souhaite afficher en aléatoire un document (si il existe) puis en cliquant dessus rejoindre l'article attaché.

J'ai testé ça sans résultat

<BOUCLE_docu(DOCUMENTS) {par hasard}{0,1}

        <BOUCLE_lien-article(ARTICLES) {id_article}>
           <a href="#URL_ARTICLE">
        </BOUCLE_lien-articles>

#FICHIER
</a>

</BOUCLE-docu>

J'arrive à afficher un document parmi ceux qui existent et j'arrive à afficher le lien d'un article pris au hasard.
Mais pas les deux ensemble!
:wink:

Beru

Peut-être ???

<BOUCLE_docu(DOCUMENTS) {par hasard}{0,1}
[<a href="#URL_ARTICLE">(#FICHIER|image_reduire{500}) </a>]
</BOUCLE-docu>

Le 22 février 2009 16:21, Jean-Christophe Villeneuve <jcvilleneuve@cegetel.net> a écrit :

Beru Beru a écrit :

Bonjour,

Sur la page d’accueil d’un site, je souhaite afficher en aléatoire un document (si il existe) puis en cliquant dessus rejoindre l’article attaché.

J’ai testé ça sans résultat

<BOUCLE_docu(DOCUMENTS) {par hasard}{0,1}

<BOUCLE_lien-article(ARTICLES) {id_article}>

</BOUCLE_lien-articles>

#FICHIER

J’arrive à afficher un document parmi ceux qui existent et j’arrive à afficher le lien d’un article pris au hasard.
Mais pas les deux ensemble!
:wink:

Beru

Peut-être ???

<BOUCLE_docu(DOCUMENTS) {par hasard}{0,1}

[(#FICHIER|image_reduire{500}) ]

Ca affiche bien mais le lien ne se fait pas : #URL_ARTICLE n’existant pas dans une boucle document.

Beru

Beru Beru a écrit :

Ca affiche bien mais le lien ne se fait pas : #URL_ARTICLE n'existant pas
dans une boucle document.

<BOUCLE_docu(DOCUMENTS_LIENS)
           {objet=article}
           {fusion id_document}
           {par hasard}
           {0,1}>
   <a href="[(#URL_ARTICLE{#ID_OBJET})]"> #LOGO_DOCUMENT </a>
</BOUCLE_docu>

ça devrait le faire (et être suffisant...)

sql produit :
   SELECT id_document, rand() AS alea,
          documents_liens.id_objet,
          documents_liens.id_document
     FROM spip_documents_liens AS `documents_liens`
    WHERE documents_liens.objet = 'article'
GROUP BY id_document
ORDER BY alea
    LIMIT 0,1

<BOUCLE_docu(DOCUMENTS_LIENS)
{objet=article}
{fusion id_document}
{par hasard}
{0,1}>
#LOGO_DOCUMENT
</BOUCLE_docu>

ça devrait le faire (et être suffisant…)


Cette solution fonctionne.
Mais je ne saisis pas pourquoi!
:wink:

En effet j’ignorais que la boucle documents-lien existait (même si la table existe bien dans la base).
Et je ne comprend pas:
{objet=article}
{fusion id_document}

Beru

Quoting Beru Beru <beru59@gmail.com>:

Peut-être ???

<BOUCLE_docu(DOCUMENTS) {par hasard}{0,1}
[<a href="#URL_ARTICLE">(#FICHIER|image_reduire{500}) </a>]
</BOUCLE-docu>

Ca affiche bien mais le lien ne se fait pas : #URL_ARTICLE n'existant pas
dans une boucle document.

Beru

Et en mettant ceci dans la boucle documents englobante (docu):

<BOUCLE_link(SPIP_DOCUMENTS_ARTICLES){id_document}>
  #SET{current_id_art, #ID_ARTICLE}
</BOUCLE_link>
<BOUCLE_lienArticle(ARTICLES){id_article=#GET{current_id_art}}>
[<a href="#URL_ARTICLE">(#_docu:LOGO_DOCUMENT)</a>]
</BOUCLE_lienArticle>

Ca marche?

George

Beru Beru a écrit :

Le 22 février 2009 16:21, Jean-Christophe Villeneuve <jcvilleneuve@cegetel.net> a écrit :

Beru Beru a écrit :

Bonjour,

Sur la page d’accueil d’un site, je souhaite afficher en aléatoire un document (si il existe) puis en cliquant dessus rejoindre l’article attaché.

J’ai testé ça sans résultat

<BOUCLE_docu(DOCUMENTS) {par hasard}{0,1}

<BOUCLE_lien-article(ARTICLES) {id_article}>

</BOUCLE_lien-articles>

#FICHIER

J’arrive à afficher un document parmi ceux qui existent et j’arrive à afficher le lien d’un article pris au hasard.
Mais pas les deux ensemble!
:wink:

Beru

Peut-être ???

<BOUCLE_docu(DOCUMENTS) {par hasard}{0,1}

[(#FICHIER|image_reduire{500}) ]

Ca affiche bien mais le lien ne se fait pas : #URL_ARTICLE n’existant pas dans une boucle document.

Beru

c’est bien ce que je craignais.
Ce qui est assez logique puisqu’un doc peut être lié à plusieurs articles, ou à une rubrique.

Il y a bien table spip_documents_liens avec un champ id_objet dans la base.
Peut-être creuser de ce côté-là ?

2009/2/23 Beru Beru <beru59@gmail.com>

<BOUCLE_docu(DOCUMENTS_LIENS)
{objet=article}
{fusion id_document}
{par hasard}
{0,1}>
#LOGO_DOCUMENT
</BOUCLE_docu>

ça devrait le faire (et être suffisant…)


Cette solution fonctionne.


EN fait cette solution fonctionne à moitié seulement.

En effet, elle fonctionne en local mais pas en distant ( en l’occurence, une machine présente dans le réseau local.)

Dans le code source, on a

<img src=‹ local/cache-vignettes/L470xH316/image.jpg ›
en local

<img src=‹ prive/vignettes/jpg.png ›
en distant

Beru

Euh c’est normal que tu ne te bases pas sur une boucle DOCUMENTS classique ?

De : Beru Beru [mailto:beru59@gmail.com]
Envoyé : mardi 24 février 2009 13:41
À : spip@rezo.net
Objet : Re: [Spip] Rendre cliquable une image associée à un article

2009/2/23 Beru Beru <beru59@gmail.com>

<BOUCLE_docu(DOCUMENTS_LIENS)
{objet=article}
{fusion id_document}
{par hasard}
{0,1}>
#LOGO_DOCUMENT
</BOUCLE_docu>

ça devrait le faire (et être suffisant…)


Cette solution fonctionne.


EN fait cette solution fonctionne à moitié seulement.

En effet, elle fonctionne en local mais pas en distant ( en l’occurence, une machine présente dans le réseau local.)

Dans le code source, on a

<img src=‹ local/cache-vignettes/L470xH316/image.jpg ›
en local

<img src=‹ prive/vignettes/jpg.png ›
en distant

Beru

Le 24 février 2009 13:47, Samy Rabih <samy.rabih@free.fr> a écrit :

Euh c’est normal que tu ne te bases pas sur une boucle DOCUMENTS classique ?

Disons que je n’ai pas la solution avec une boucle document car je dois avoir l’image cliquable (et donc passer par une boucle article.

Et tu dois pointer vers quoi ?

De : Beru Beru [mailto:beru59@gmail.com]
Envoyé : mardi 24 février 2009 13:51
À : SPIP discu
Objet : Re: [Spip] Rendre cliquable une image associée à un article

Le 24 février 2009 13:47, Samy Rabih <samy.rabih@free.fr> a écrit :

Euh c’est normal que tu ne te bases pas sur une boucle DOCUMENTS classique ?

Disons que je n’ai pas la solution avec une boucle document car je dois avoir l’image cliquable (et donc passer par une boucle article.

Beru Beru a écrit :

<img src='local/cache-vignettes/L470xH316/image.jpg'
en local
<img src='prive/vignettes/jpg.png'
en distant

paramétrage/configuration de vignette ?

Samy Rabih a écrit :

Euh c’est normal que tu ne te bases pas sur une boucle DOCUMENTS classique ?

ça permet de récupérer en une requête sql le résultat voulu.
mais on peut le faire en imbriquant des boucles...

2009/2/24 denisb <denisb@laposte.net>

Beru Beru a écrit :

<img src=‹ local/cache-vignettes/L470xH316/image.jpg ›
en local
<img src=‹ prive/vignettes/jpg.png ›
en distant

paramétrage/configuration de vignette ?

Bien vu!

Effectivement:
configuration / fonction avancées.

Je pensais l’avoir fait .

Merci