By victoria_b on
Hi,
I'm building a site that sells paid for events which I'm doing through Ubercart. I want to allow reviews of these events to be posted so I was wondering what's the best way to tie the review (to be done through CCK) to the Ubercart product/event?
I'm new to Drupal so thank you for your patience and possible answer to my question!
Comments
After to years it appears
After to years it appears everyone is still looking for a good solution to this problem. If anyone has gotten anything to work, please let those of us still looking know what worked for you. The Fivestars+Nodecomments solutions aren't working for me and I think the problem lies with them referring to their posts and documentation for D5 and not having anything working in D6.
_
Usually this is done with nodereference fields-- create a content type of 'review' and relate it to a product via a nodereference field. You can also use the nodereference_url module to make it simpler to created the related review.
Referencing nodes isn't
Referencing nodes isn't really the problem. I don't think anyone is having trouble figuring out how to get a specialized node to reference another node. The problem is getting it to actually be able to rate the parent node. So far, everyone is using the Fivestars module as reference because it can rate a node with a star rating. Implementing it within other nodes to rate a parent node is part of it's built in functionality, but it really doesn't work out of the box. There are lots of people trying to get it to work and posting here in the forums and in the Fivestars issue queue, but once they find their solution they disappear and never post what they did to get it fixed. So there are tons of open questions dating back years on this subject.
I think it is a little vague to just say "product review" because that IS easy to create as you mentioned. What people are really looking for is a product review plus rating solution like many of the sites people frequent (Amazon, IMDb, etc.)
_
I guess I'm not understanding the problem-- i've setup amazon style ratings and reviews using fivestar and nodereferences no problem.
And you're very right... unfortunately, people posting for assistance often don't followup and post the solution. Sometimes I'll poke them when they post "fixed it" without the solution lol, but other than that I'm not sure what else can be done to encourage folks to actually post back.
Creating a Global tracking
Creating a Global tracking where you can tag users who ask for help and then disappear so other people can look them up and then never help them ever again might work. But that would probably just inspire people to continuously create multiple accounts.
I would be interested in seeing how you accomplished your Amazon-style reviews. Where I'm at is using Nodecomments+Fivestar+CCK. Creating new content type Review, setting comment style of Products to Review, and adding the Fivestar widget to the review with parent target. That's the gist of it. The problems I'm having is changing the default title for the group "Comments" into "Reviews" just for the Product content type because people aren't leaving comments for the product. I've pretty much decided the best way is to probably create a view to embed for several reasons but it would solve the problem of changing this title.
The second problem it would solve is the comments per page and pagination issues. I don't think anyone with a product would want to display a minimum of ten reviews on their first page. I hacked my files (not good) to give me the option of one per page, not thinking about the end result (which was actually one per page.) Fifty reviews equals fifty pages. With a view I can set the initial product page to have only one review and a "more" link that will take users to a search results type page with more reviews.
All well and good but I can't figure out how to allow users to continue posting review/comments but disable the system from printing the comments area on the node. I have to disable that area so I don't duplicate the section with an embedded view. You know what I'm saying?
_
I thought about user tagging-- but also came to the conclusion it would only spur new account creation. Ultimately, if people can't be bothered to be considerate or help others (the way they themselves want to be helped) I don't think there's much you can do about it. Probably peer pressure and calling them out in the thread is about the best we can do.
In any case-- interesting idea about using nodecomment. I have to admit it never even occurred to me, lol. I use a pretty straight forward setup of product (or restaurant, or book or whatever is being reviewed) content type and a review content type that has a nodereference_url field to the reviewee content type. The review content type fields can vary based on what's being reviewed-- you can even do a multiaxis fivestar rating if you want. Then to display the reviews on the reviewee there's the views_attach (eva for d7), ds, or panels modules. By keeping everything content types and views, you can pretty much customize it any way you want. For example, the first 1 or 2 reviews could be the full review, followed by some star only reviews. And since it's views, you can expose paging, sorting, and filtering options as desired. In general, I've found this method be extremely flexible and well suited to just about any relationship (i use it for photos and galleries as well).
Using nodecomment might save you some work, but it seems it also limits your flexibility some-- and you seem to be fighting some innate comment type behavior. ymmv i guess.
i don't have a demo handy anywhere (i keep meaning to do a nice commerce/review demo site, i just never get around to it), but if you have any more questions just ask away.
I thought about calling them
I thought about calling them out as well, but I think most people aren't even paying attention to their old posts or may not even ever come to D.org unless they need help so they won't ever see you calling them out. I go for the more tactful approach of just asking if them (or anyone) has come to a viable solution. This is the first time it has worked, though!
As for the reviews, I saw some people discussing Nodereference but I honestly didn't think there was a difference, or I was assuming that was the old way before Nodecomments came out.
Thinking about what you're saying, I'm pretty sure you're right to use that way. Like you said, NodeC might save some time on some areas, but the work it creates isn't worth it. As I said, I'm thinking Views is the best way to produce the output I need, which is what you say you use for NodeR. The difference here is that in order to use Views, I have to do a lot more work to get it all ready like getting rid of the comments it prints etc.
I'm going to give NodeR a try tonight and I'll post back my results. Thanks for all your help. I really think your method is going to be a great deal easier than trying to get NodeC to work properly.
_
Awesome-- and be sure to post back your results ;-)
oh and the magic that glues this all together, in addition to views, is http://drupal.org/project/nodereference_url -- sometimes people don't realize that's a separate module.
Thanks. I saw that module in
Thanks. I saw that module in another forum somewhere and knew I would need that for this project.
I'm almost there. Everything is working okay but I got stuck on a Views argument issue. I posted it in the Issue Queue over there at http://drupal.org/node/1194956 even though I don't like doing that. There's almost 13,000 issues and so I don't like to add to their mix unless I really need it. But it looks like I really need it now so I posted.
Once I get this all wrapped up I'm going to post a step-by-step here and on UC.org in another product forum over there. So far everything is peachy, the content type references correctly, the ratings register and are computed correctly, the output says Reviews instead of Comments and everything else except the argument. Since the argument won't pass on the nid I can only get all reviews on every single Product node. Since that will mean people are reading reviews for other Products that won't work at all.
I'll let you know when I get an answer over there. I posted my export so if the problem lies in the view itself they should be able to tell me. If not, it will at least narrow my search for the problem a little. It will probably take them a while to get back since there's so many issues but I'll remember to post it all here.
So I failed in my quest for
So I failed in my quest for D6 product reviews. All the additional modules and dependencies weren't working out.
The good news, I just upgraded to D7 and this process took me literally ten minutes to get done. Almost everything is fieldable in core, including comments. So all you have to do is go into your Content Type for product, click the tab labled "Comments" and you can add fields to the comments. Add a Fivestars widget field to the comment with the target of parent and now you have a "review."
As for it called "Reviews" instead of "Comments," you can theme your TPL. Add a section with print t('Reviews') and the hide the comments label. This is possible because labels can be either hidden or visible.
That's what I did and it's working, looks good, and makes me happy.
Also, in
Also, in http://drupal.org/node/1193878#comment-4682306
Lobo235 had a solution for changing the title of comments to something else on specific nodes. (So jealous this easy solution never even crossed my mind.)