rackem
Well-Known Member
I am looking for ideas on how to make a rating system where logged in users can vote on a list of items. Each item would have a rating that would be the average of all the user votes. Users would be able to view all the votes for each item, i.e. they could view all other user's votes as well. I am stuck on one thing. I would like each user to only have one vote per item which they would be able to edit their vote whenever they wish.
The primary list here would be the list of items. Users would click a link to add/edit their vote. Another link in the list would take them to the list of votes.
I realize there is a rating element that does something similar to this. However I need more control over what votes are counted and why.
I thought about using the Related Data functionality. That way users could see the number of votes the item has and then view the votes for an item when using the link to list. The link to form would let them add a vote. However the problem is that users would be able to add multiple votes this way instead of just editing their record one was already present. Is there a way to set a rowid = -1 for the link to form similar to how you would set up the juser plugin?
That is just one idea, I am open to other approaches to this. Has anyone ever done anything like this before?
The primary list here would be the list of items. Users would click a link to add/edit their vote. Another link in the list would take them to the list of votes.
I realize there is a rating element that does something similar to this. However I need more control over what votes are counted and why.
I thought about using the Related Data functionality. That way users could see the number of votes the item has and then view the votes for an item when using the link to list. The link to form would let them add a vote. However the problem is that users would be able to add multiple votes this way instead of just editing their record one was already present. Is there a way to set a rowid = -1 for the link to form similar to how you would set up the juser plugin?
That is just one idea, I am open to other approaches to this. Has anyone ever done anything like this before?