Gestion des rôles par taxonomy pour vendre du contenu payant à l'unité

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

désolé pour le titre qui n'est pas des plus agréable.

Je suis actuellement en train de développer un site à contenu payant. Ce site à pour but de vendre des articles à l'unité.

Après avoir étudié plusieurs solutions, j'ai choisi d'utiliser Ubercart pour la partie paiement et Taxonomy Content Access pour les droits. Concrètement, le visiteur du site achète un produit Ubercart avec une feature qui lui donne accès à un article.

En faite mon problème vient des droits d'accès. En effet, j'ai créé une taxonomy avec plusieurs vocabulaires :
Numéro de la revue : 1,2,3,4...
Type d'article : Dossier, Brève...
Type de contenu : Payant, Gratuit

Et la solution vers laquelle je me suis orienté est de créer un rôle par article, un rôle basé sur la taxonomy. Par exemple un lecteur veut acheter l'article "Dossier" du 1er numéro de la revue, il aura donc un rôle :
Payant : visible, Dossier : Visible et Numéro 1 : Visible

Le problème c'est qu'en faisant cela, il aura également l'accès à tout le numéro 1, à tous les dossiers et à tout le contenu payant. Et en plus cette solution est assez lourde parce qu'il faut créer un rôle pour chaque article.

J'aurai donc aimé savoir si certains d'entre vous avez rencontré ce problème, ou si vous avez d'autres solutions à me proposer.

Cordialement

Version de Drupal :