Récemment, un grand débat a eu lieu sur un forum que j’administre concernant la suppression ou non des « J’aime ». La moitié des utilisateurs souhaitent leur suppression, tandis que l’autre moitié veut qu’ils restent. J’ai identifié le composant de thème qui masque la possibilité de liker un message pour les utilisateurs de niveau TL0 et les utilisateurs anonymes, et je l’ai en grande partie adapté à nos besoins. Cependant, je ne suis pas sûr de savoir comment le lier à un champ booléen utilisateur que j’ai créé (« activer les likes »). Dans le composant de thème d’origine, on utilise quelque chose comme « settings.hide_for_anon_user », ce qui crée un paramètre de thème dans settings.yml appelé « hide_for_anon_user », mais celui-ci ne peut être basculé que par un administrateur et non au niveau de l’utilisateur.
Comment puis-je faire référence à ce champ personnalisé ? Je l’ai déjà ajouté à public_user_custom_fields, mais je ne sais pas comment le référencer dans le fichier JS du composant. J’ai essayé userCustomFields.user_field_10, settings.current_user.custom_fields.user_field_10 et current_user.custom_fields.user_field_10, mais aucun ne fonctionne ; ils masquent simplement tous les messages d’un fil de discussion.
Je vous serais très reconnaissant de toute aide que vous pourriez apporter.
Je pense que vous pouvez créer un groupe sans likes et l’utiliser pour masquer les likes, tout comme le fait tl0. Configurez le groupe pour que n’importe qui puisse le rejoindre.
Comment puis-je faire référence au groupe dans ce cas ?
J’ai remplacé
this.currentUser.trust_level === 0;
par
this.currentUser.no_likes;
mais cela n’a pas fonctionné. Encore une fois, je ne suis pas sûr de savoir comment faire référence aux groupes personnalisés, tout comme pour les champs utilisateur, cela ne semble pas être clairement indiqué dans la documentation.
Mais j’aimerais quand même savoir s’il existe un moyen de faire cela en vérifiant un champ booléen personnalisé de l’utilisateur plutôt que de demander aux gens de rejoindre un groupe. J’ai parcouru d’autres plugins pour avoir une idée de la façon de procéder, mais tout ce que j’ai essayé jusqu’à présent n’a pas fonctionné.
ETA : Cela semble fonctionner, mais vous devez actualiser la page après avoir coché ou décoché le booléen du champ utilisateur.
Apparemment, cela masque les publications lorsque les utilisateurs ne sont pas connectés. Je ne sais pas comment modifier le code — quelqu’un a-t-il des suggestions ?