Posted by nicholas_w on October 28, 2008 at 4:09pm
As far as I can tell there are three primary avenues to creating the functionality needed for classified ad or business directory websites. I'm about to test each of them so that I can figure out which is best for my purposes, so I thought I'd post here and see if anyone has any experience with these modules and can help out. When I'm finished testing them myself, I'll post the results here.
The three avenues (as far as I can tell, if there are others, please let me know) are:
- Classified Ads Module along with lm_paypal and probably some cck stuff.
- PayPal Node with Simple Paypal and probably Taxonomy Fields.
- Pay2Publishand E-commerce and probably Taxonomy Fields.
Generally, I'll probably assume the use of Views and CCK, and here's the functionality I'll be looking for:
- The classified ad/entry must:
- expire automatically
- allow anonymous contact
- be buyable online
- allow different prices based on what the ad contains (e.g. whether it has photos or not), where it will appear, and how long it will run

Comments
I have no input on this but
I have no input on this but am curious to know what you find. Thanks for sharing!
Dan Knauss
LinkedIn: www.linkedin.com/in/danknauss
New Local Media :: www.newlocalmedia.com
Classified Ad: out of the box
Okay, right out of the box, classified_ad.module (version 5.x-1.5.-8) gives you:
On the configuration screen:
On node creation:
On node pages:
Permissions:
On My Account there's a Classified Ads List tab that lists your existing ads.
And it creates a page that lists all your categories, which links to pages with all your ads in each category (see attachment).
LM_PayPal: Out of the box
Version: 5.x-1.0
To turn on LM_PayPal_Adverts, you need to turn on LM_paypal_subscriptions. Ultimately, I like the subscription thing, I may have another use for it, but it is more overhead for this task.
You have to set up the ad purchase through the subscriptions configuration. Which is weird at first, but doesn't really matter.
On the subscriptions, you create:
And finally you configure:
Then you go to the Paid Advert Settings page and check any content types you want your subscription to apply to.
The only permissions the module offers are: "administer lm_paypal," and "access lm_paypal_subscribe."
Once you've set all this up:
You create a node like normal, and after you save it a tab appears that says, "PayPal Publish." Other than that, there's no message that I could see that says, hey, you still need to pay for this. If another user goes to the site, they'll see the node, but it'll be just a snippet and it'll say "Not yet published" in the body. When you do click on the publish tab, it's pretty straightforward, allowing you to select from the subscriptions available on that node, and it sends you to paypal for the transaction.
Theoretically, then, your node becomes published really (though you may need to login and logout, which is annoying), but it didn't work for me -- it may have something to do with not having my PayPal account approved for no apparent reason. I hate PayPal. I'll have to check back on that.
Also, it appears that the expiration you set on your actual classified ad node and the one the subscription imposes don't play together in any way, but I can't be sure with my transaction having not worked.
PayPal Node: Out of the box
PayPal Node 5.x-1.3 comes with PayPal Node Promo Code, allowing you to offer promo codes for discounts, which seems like a nice feature.
It requires Token, JQuery Update (often scary, since that can mean several versions depending on when the last update was), and the Simple PayPal Framework.
Simple PayPal Framework creates one, simple config page that lets you choose either the regular paypal site or the sandbox for payments.
PayPal Node's config is where you enter your PayPal account. It lets you set:
Once you've created your content type and terms, you can configure the module. Then you need to set up your term-based fees, which happens on the Content Fees page under Content Management. This is very simple, you find your term and you enter a price.
When you go to create an ad, an AJAX-ified text field shows up showing the "publication cost" which changes when you select a term. Having two vocabularies seems to break the module -- the publication cost stays at zero and you get to publish free. This is actually the only one I successfully got to publish, but I assume that has to do with my not having succeeded in getting PayPal to do the IPN thing properly. Did I mention that I hate PayPal?
Remarkably, after placing two ads, one with one vocab set up, which worked, and one with two, which published without me paying for it, only the second ad showed up on the "Content Fee Report" page.
The module doesn't put any kind of "Manage My Ads" page in My Account.
N.B. Without the content.module turned on you'll get an error complaining that the node_field table doesn't exist.
Pay2Publish: Out of the box
For this module, you create actions and durations.
On the create actions config page, you set up the name of an action, i.e. "basic" or "silver," and you set what content type it applies to and then you pick a term for the node to "Upgrade to" and one for it to "Downgrade to." The help text isn't real clear on what this means, but I'm guessing that after payment you'll get the "upgrade to" term and after it expires you'll get the "downgrade to" term. Finally you set the price and a weight. (There's also a description field.)
On the create duration config page, you give the duration a name and a length -- in months. Here you've also got description and weight fields.
There's also a notifications page that will let you send an email a certain amount of time before a node expires, when the node is about to expire (I think) and when the node has expired. N.B. These are emails you definitely want to rewrite.
So then you create a classified ad and there's a field asking you to choose your action and duration. It makes that an e-commerce product. You login, you buy...and nothing. It gets listed in your order history, but I see no way to link that to an actual classified ad... All of which are published anyway.... :(
I checked the old standby, permissions, but there's only one: 'administer pay2publish'...
great write up
great write up nicholas, very interesting. Sounds like paypal node is the most stable? what did you end up going for in the end
Just curious - why not
Just curious - why not develop on D6 core to make use of improved cck/functions? Do the paypal mods outweigh going D6?
matthewm.org
classifieds
I have used the classifieds module because it was the easiest for me to setup. Thanks for the writeup I might look at implementing one of the other options if I start charging.
Gordon
BuyThatLocally.com Buy Local
BuyThatLocally.com Drive Less Buy More | <a href="http://www.ethosumer.com'>Ethosumer: For The Socially Conscious Consumer</>
Hey Nick
Thanks for the write up, I am glad I signed up for this group. Looks like we will be working on a lot of the same info since we are moving to drupal here in Grand Haven as well. I am really looking forward to the migration. We'll catch up soon and share some info. I haven't dug into the classifieds area for Drupal yet. I have just installed D6 and am putting together all the modules needed and working out our hierarchy for the content. I may be a few steps behind you but I'll catch up.
Eric
Drupal 6
This is a great writeup, if only more developers took the time to write up their work to help others! I'm a little disappointed in the progress for Drupal 6 though. The classified module appears to have been abandoned awaiting someone new to maintain it. Has anyone created a site using Drupal 6? Anyone out there with any suggestions?
Thanks
Will Eaton
http://www.williameaton.co.uk