web-dev-qa-db-fra.com

Vue des utilisateurs signalés par un utilisateur, des utilisateurs signalant un utilisateur et des nœuds des utilisateurs signalés par un utilisateur

J'ai un indicateur d'utilisateur qui ressemble à peu près à une fonction "suivre" ou "s'abonner".

Fondamentalement, je veux créer 3 views pour user profile pages:

  1. Une liste d'utilisateurs signalés par un utilisateur (par exemple, un bloc "personnes que je suis")
  2. Une liste d'utilisateurs signalant un utilisateur (par exemple un bloc "mes fans" ou "mes abonnés")
  3. Une liste de nœuds de tous les utilisateurs qui ont été signalés par un utilisateur (c'est-à-dire une fonction de fil d'actualités permettant à un utilisateur de visualiser tout le nouveau contenu des utilisateurs qu'il/elle a signalés)

J'apprécierais toute aide ou commentaire!

17
Jamie Chang Liu

Mieux vaut tard que jamais, pour attirer vos fans, vous pouvez:

  1. créer une vue des utilisateurs de type.
  2. créer une relation Drapeaux: signalements de l'utilisateur.
  3. maintenant, si la plupart des gens se trompent, vous devez supprimer "Inclure uniquement les utilisateurs qui ont signalé du contenu."
  4. choisissez votre drapeau.
  5. Ajoutez un filtre contextuel "Flags: Content ID".
  6. assurez-vous d'utiliser la relation.
  7. LORSQUE LA VALEUR DU FILTRE IS NON DISPONIBLE fournir la valeur par défaut de "ID utilisateur de l'utilisateur connecté".
4
saadlulu

J'avais du mal à obtenir le numéro 2, mais grâce à cette réponse: Comment puis-je faire une vue qui montre aux utilisateurs tous ceux qui ont signalé un seul utilisateur?

  1. Créer une vue des utilisateurs
  2. Ajoutez la relation "Signalisations de l'utilisateur" et décochez la case "Inclure uniquement les utilisateurs qui ont signalé du contenu".
  3. Ajoutez un filtre contextuel "Indicateurs: ID d'entité" et choisissez la méthode pour fournir une valeur par défaut - dans mon cas, obtenez l'ID utilisateur à partir de l'URL.
1
gillarf

Le premier scénario peut être atteint en procédant comme suit (in drupal 7)

  1. Ajoutez la relation "Flags: [flag type]" et définissez "By" sur "Any user".
  2. Ajoutez la relation 'Flags: User'; ne définissez aucune option pour cela.
  3. Ajoutez le filtre contextuel "Utilisateur: Uid" et définissez-le sur "Fournir la valeur par défaut" "ID utilisateur à partir de l'URL".

si vous utilisez des panneaux, vous devez vous assurer de transmettre l'uid à la vue.

travaille toujours sur la détermination des deux autres scénarios, faites-moi savoir si vous avez de la chance

1
user379468

Oui, c'est la bonne réponse, user379468!

Au lieu du troisième point, utilisez:

  1. Ajoutez le "Utilisateur: Contenu créé"
  2. Ajouter le filtre contextuel "Utilisateur: uid"
  3. Ajouter la relation "(Author) flags: (name_of_your_user_flag)" "
0
pedja

Je pense avoir compris comment configurer les numéros 1 et 3.

  1. Créez une vue des utilisateurs (plutôt que du contenu).
  2. Ajoutez le drapeau en tant que relation (le flog suivant ou ce que vous appelez) et ajoutez Par "utilisateur actuel". Cela devrait vous donner une liste des utilisateurs que vous suivez.
  3. Ajoutez "Utilisateur: Contenu créé" comme autre relation, cela devrait vous donner une ligne en double pour chaque élément de contenu que l'utilisateur a créé.

Vous devriez maintenant pouvoir utiliser des champs pour omettre ou publier les informations que vous souhaitez.

0
user379468

Une liste d'utilisateurs signalant un utilisateur (c'est-à-dire un bloc "mes fans" ou "mes abonnés")

  1. créer une nouvelle vue, basée sur les utilisateurs.
  2. ajouter des indicateurs de relation: contenu signalé par l'utilisateur
    • ACTIF: N'incluez que les utilisateurs qui ont signalé du contenu.
    • Choisissez le nom de votre drapeau

c'est ça.

Vous souhaitez peut-être ajouter un filtre pour filtrer votre propre nom.

0
blogook