Submitted by guim on
Bonsoir à Tous !
je bosse sur un site communautaire dans lequel chaque utilisateur dispose de son profil,
et de son menu (my bio, my events, my gallery)
pour customiser le profil,
j'ajoute des champs dans l'admin du module "profile" (my bio, my events, my gallery, Discipline, WEBSITE, COUNTRY)
et j'ajoute le module "profile tabs" pour faire apparaitre des onglets (my bio, my events, my gallery)
l'idée serait de créer un bloc fixe qui apparait dans le profile,
dans lequel il y aurait le contenu de 3 champs du profil (Discipline, WEBSITE, COUNTRY)
je tente de mettre en place une views de type bloc,
j'ajoute les champs "Profile: Discipline" // "Profile: WEBSITE" // "Profile: COUNTRY"
j'ajoute le filtre "Node: Author is Current User"
au résultat, j'ai bien mon bloc qui s'affiche, mais le contenu ne coïncide pas avec le profil visité.
en fait, les valeurs changent quand je personnalise le filtre "Node: Author is Current User"
si je choisi "is equal to" "currently logged user", le bloc m'affiche les données de l'user connecté
et si je choisi 'is not equal to", le bloc m'affiche les données du premier user qui figure dans la liste.
j'ai réussi à créer une views d'un calendrier personnel
http://drupalfr.org/node/9096
je pensais que l'édition d'un bloc se passerait de la même manière...
auriez vous une piste à me suggérer ?
au final, j'aimerai arriver
Permalien Soumis par guim le 17 Novembre, 2009 - 18:45
au final, j'aimerai arriver à ce type de resutat :
http://drupalsn.com/user/14/views
des blocs fixes, et des blocs dynamiques
il faut que tu passes l'uid
Permalien Soumis par selinav le 19 Novembre, 2009 - 16:30
il faut que tu passes l'uid (user id) en argument
Salut Selinav, je viens de
Permalien Soumis par guim le 20 Novembre, 2009 - 16:39
Salut Selinav,
je viens de faire un test en mettant l'argument "User: UID is Author" (display all values / %1)
et rien de nouveau,
ce sont encore les données de la personne connectée qui apparaissent.
normalement, c'est l'admin qui rempli les profiles,
je me suis donc connecté avec un profil A, et j'ai re-rempli les champs du profil A
(je pensais que le problème venait du fait que l'auteur était l'admin est non le profil A)
=> idem
j'ai déposé la capture écran de ma views,
peut être qu'il y a une erreur de débutant
ça avance : ma view
Permalien Soumis par guim le 25 Novembre, 2009 - 17:25
ça avance :
ma view fonctionne, mais pas entièrement.
tout d'abord, j'ai déposé une capture écran de la config de ma view.
quand je me rends à l'url http://www.monsite/my_infos/Artist1/
j'obtiens le bonne données.
ensuite, si je l'insère dans l'un des champs d'un profil,
j'obtiens 2 résultats :
- avec [view:my_infos=Artist1] : j'ai mes champs, mais ils sont vides.
- avec [view:my_infos==Artist1] : j'ai les bonnes données, mais en trois exemplaires. (j'ai une petite idée...)
ce bloc doit etre constament affiché dans l'une des zones du profil,
pour x raison, je n'utilise pas le module "panel",
du coup, je me rends dans la page "user_profile.tpl.php" pour l'insérer en dur.
j'ai passé un long moment à faire mes recherches, et j'ai trouvé 2 débuts de piste :
- avec le script qui suit, j'affiche mon bloc (il y a l'intitulé des champs), mais il est vide :
<?php
$view_name = 'my_infos'; //name of view
$limit = 1; // number of returns
$view_args = array();
$view = views_get_view($view_name);
print views_build_view('embed', $view, $view_args, FALSE, $limit);
?>
-avec ce script, j'ai mon bloc qui s'affiche une dizaine de fois, le contenu varie :
<?php
global $current_view;
$current_view->args[0]=$node->nid;
$view1 = views_get_view('my_infos'); // change 'view_name' to the name of your view
print (views_build_view('embed', $view1, $current_view->args, false, false));
?>
en gros, je pense que le premier script est plus adapté, et qu'il me suffit d'y insérer mon argument.
chose que je ne sais pas faire (pour le moment)
des idées ?
Yépa ! voici la solution
Permalien Soumis par guim le 25 Novembre, 2009 - 19:26
Yépa !
voici la solution :
en espérant que ça vous aide
<?php
global $current_view;
$limit = 1;
$current_view->args[1]=$node->nid;
$view1 = views_get_view('my_infos'); // change 'view_name' to the name of your view
print (views_build_view('embed', $view1, $current_view->args, false, $limit));
?>