Salut, y a-t-il un moyen de masquer les résultats des sondages aux anonymes ? Je crée un forum de résolution de questions d’examen qui permet aux utilisateurs de choisir une réponse à une question. Je n’ai pas besoin que mes membres donnent de fausses réponses juste pour voir les réponses des autres, mais je veux aussi empêcher les anonymes de les voir.
Une autre chose, j’essaie de trouver un moyen de masquer les réponses des anonymes aussi, mais je n’ai rien trouvé. Une telle fonction existe-t-elle ?
Salut, je viens de trouver la solution. Si quelqu’un veut essayer, vous pouvez créer un composant de thème et ajouter ceci à l’en-tête
<script type="text/discourse-plugin" version="0.8">api.onPageChange(() => {
if (!Discourse.User.current()) {
const pollContainers = document.querySelectorAll('.poll');
pollContainers.forEach(poll => {
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === 'childList') {
const resultsButton = poll.querySelector('.toggle-results');
if (resultsButton) {
resultsButton.remove();
}
}
});
});
observer.observe(poll, { attributes: false, childList: true, subtree: true });
// Remove existing buttons if present
const existingButton = poll.querySelector('.toggle-results');
if (existingButton) {
existingButton.remove();
}
});
}
});
</script>
Cela empêchera même l’affichage du bouton “Résultats” lorsque quelqu’un vote.