Submitted by victorinox38 on
Bonjour,
La question que je vais poser a déjà été posée ici (http://drupalfr.org/forum/support/support-general/8915-afficher-un-lien-...) mais les réponses ne m'ont pas vraiment aidées.
Voila mon soucis :
Je cherche un moyen de sélectionner aléatoirement une seule page de type Story parmi un ensemble de pages du même type.
Ensuite je voudrais intégrer le lien pointant vers la page sélectionnée dans un block.(le lien serait les n premiers caractères de l'article sélectionné en l'occurrence, existe-t-il un module pour réaliser ça ? ).
J'ai donc commencer a étudier la solution avec le module Views mais je ne parviens qu'a filter le type Story et ensuite à afficher dans un ordre aléatoire une liste de tous les liens pointant vers les pages filtrées.
Je ne maitrise pas très bien le module Views...
Merci d'avance :)
Un module pour faire une
Permalien Soumis par mbehmane le 28 Avril, 2010 - 00:59
Un module pour faire une demande aussi personnelle?lol non pas a ma connaissance.
Tu va devoir te créer ton propre module.
Sinon avec les views selectionne les id story qui vont subir un tirage au sort plus tard.C est une view de type block.tu lui met sortie de style en tableau.Ca liste toute tes donner dans un tableau php
Puis surclasse le template de ta view block tu regarde le nombre d entre ke tu a dans ton tableau et tu fait un math_random pour en prendre un au hazar d et tu construit ton lien.
Voila a chaque fois ke la page contenant ce block sera affiche tu aura un lien choisit au hazard
PS:n hésite pas a poser des question sur les partie qui te semble sombre
Bien sûr que si tu peux faire
Permalien Soumis par Marie-Hélène le 28 Avril, 2010 - 11:01
Bien sûr que si tu peux faire ça avec views : filtre sur ton type story, ordre aléatoire, comme tu l'as fait, + afficher un seul item, sans pager, dans un affichage bloc, qui reprend les premiers caractères de l'article, avec un lien vers le noeud dessus. Tout ça est dans les paramètres généraux et dans les paramètres de champs.
Aucune difficulté !
Merci beaucoup j'ai
Permalien Soumis par victorinox38 le 28 Avril, 2010 - 12:21
Merci beaucoup j'ai réussi!
Me reste plus qu'a faire les n premiers caractères de l'article sous forme de lien.
Le seul moyen est de faire un module ?
non, le seul moyen est de
Permalien Soumis par Marie-Hélène le 28 Avril, 2010 - 12:33
non, le seul moyen est de mieux regarder ce que tu as sous les yeux dans les paramètres du champ : cocher la case "trim this field to a maximum number of characters", ou quelque chose dans ce goût là, et puis affiner la configuration derrière.
Désolé mais je ne parviens
Permalien Soumis par victorinox38 le 28 Avril, 2010 - 18:35
Désolé mais je ne parviens pas a faire ce que je veux, j'ai pourtant passé pas mal de temps.
Voila ce que j'ai fait :
J'ai créé une vue avec les parametres de bases suivant :
éléments à afficher : 1
lien plus : oui
les autres paramètres laissés à leurs valeurs par défaut.
Aucune relation;
Aucun arguments;
Champs :
Critères de tri : Global : random asc;
Filtres : Noeud : Type exposé
Donc j'ai un bloc avec les n premiers caractères de mon article. Mais le lien more n'apparait pas!
Alors je ne vois pas du tout ce que c'est, j'ai parcourus en long en large les paramètres de view, mais je n'ai pas réussi a savoir d'ou venait le fait que le lien "plus" n'apparaisse pas.
J'ai alors essayé par le biais de l'option "Output this field as a link", dans la configuration des Champs.
Mais le problème c'est qu'il me demande le chemin du lien.
J'ai alors essayé d'ajouter un argument Noeud : Nid et puis de préciser le chemin du lien dans l'option "Output this filed as a link" sous la forme suivante : ?q=node/%1.
Mais drupal supprime la derniere partie et donc le lien devient : "?q=node/"
Pourriez vous me dire si je suis dans la bonne direction, ou quelles sont mes erreurs ?
Merci d'avance
le lien "more" permet
Permalien Soumis par Marie-Hélène le 28 Avril, 2010 - 18:42
le lien "more" permet d'afficher plus d'items dans la liste (ici plus de stories), ce n'est pas ce qu'il te faut (tu ne veux pas une liste plus longue, tu veux le noeud complet). il n'apparait pas parce que tu as bloqué l'ensemble de la vue à 1 item (si tu veux qu'il apparaisse il faut un affichage page avec 25 items par exemple et le pager ; dans le bloc tu spécifies un seul item, alors le lien "more" renverra vers l'affichage page avec 25 items
pour le lien vers le noeud, laisse le output..as a link pour ce cas, regarde mieux les options possibles et coche "link this field to its node" .(pas besoin d'argument ici, vire le de ta vue)
et utilise le champ teaser plutôt que le champ body, pour éviter que l'ensemble de l'article soit chargé à chaque fois ; s'il va chercher dans le champ teaser, la requête sera moins lourde.
Je n'ai pas l'option "link
Permalien Soumis par victorinox38 le 28 Avril, 2010 - 19:12
Je n'ai pas l'option "link the field to its node"!
c'est très bizarre...
http://ftp.victorinox.intox.free.fr/Capture-2.png
Je vais chercher pourquoi..
elle n'est peut-être pas
Permalien Soumis par Marie-Hélène le 28 Avril, 2010 - 19:33
elle n'est peut-être pas disponible sur le body ; essaie avec le teaser / à défaut, mets le titre (le lien sur le titre) et en dessous le teaser ; les visiteurs cliqueront sur le titre, c'est une solution possible...
Effectivement c'était ça! La
Permalien Soumis par victorinox38 le 28 Avril, 2010 - 20:09
Effectivement c'était ça!
La solution proposé me convient bien :)
Merci beaucoup!
Ah oui très bonne idée j
Permalien Soumis par mbehmane le 28 Avril, 2010 - 14:22
Ah oui très bonne idée j avais jamais remarqué que l 'on pouvais