web-dev-qa-db-fra.com

Comment marquer les articles comme lus?

J'ai un lien normal:

<a href="/article-1"><span class="visited-circle"></span>article 1</a>

et quand quelqu'un a visité cet article, j'ai donc changé la couleur en CSS:

a:visited .visited-circle {
  background-color: green;
}

Mais je pense que ce n'est pas si parfait. Je veux que le visiteur puisse marquer cet article comme lu. Quelqu'un a-t-il une idée de la façon dont je peux réaliser cela?

6
Tada

Pour que la solution soit vraiment complète, tous les utilisateurs doivent avoir un compte (ou en créer un lors du marquage comme lu) et associer dans la base de données l'utilisateur aux publications qu'il a lues, puis styliser chaque lien de manière appropriée. Pour implémenter cela, vous pouvez chercher l'inspiration dans les plugins qui ajoutent une critique ou une autre fonctionnalité de type/classement. Le problème avec cette approche est que les utilisateurs doivent avoir une autre motivation pour se connecter, sinon ils n’utiliseront probablement pas cette fonctionnalité.

L'option la moins robuste (mais plus facile à mettre en œuvre) consiste à stocker la liste des publications lues dans un cookie à long terme et à attribuer un style aux liens en fonction des valeurs du cookie. Le problème avec cette approche est que les cookies sont locaux sur un appareil spécifique et qu'un utilisateur peut se retrouver avec une "liste de lecture" fragmentée entre tous les appareils qu'il utilise.

2
Mark Kaplun