Classified Ads

inactivist - February 11, 2007 - 22:27

This module creates a simple textual classified ad node type (ed_classified) with no need to use CCK or flexinode.

Released versions 5.x-1.5-8 and 4.7.x-1.5-4 (Aug. 6, 2007) and later correct a long-standing bug that prevented automatic deletion of expired ads. Please download the new version.

This module has been in use on several production sites for a while now. It provides the following features:

  • cron-based automatic expiration (on expiration, the classified ad node is moved to unpublished state, but is not yet deleted/purged so it can be 'renewed').
  • Expired ad renewal: Users with proper permissions may 'renew' their expired but not yet purged ads during the 'grace period' by checking the 'renew ad' checkbox in the edit form.
  • Simple taxonomy-based browsing similar to that provided by image.module galleries. (I lifted some of the code from image.module, and modified it for use here.)
  • Several useful blocks (latest ads, most popular ads, and stats including total number of unexpired ads and number of new ads in last 24 hours).
  • Per-user classified ads lists (under each user's profile, visible to all users with 'access user profiles' permissions).
  • Administration list of all classified ads, sortable by expiration date, with direct edit link to the ad.
  • Length-limited body text with live, javascript-based counter showing characters used and remaining while user enters the body text - no need to hit submit and wait for an error message.
  • Exposes data to Views module.
  • New Feb. 25 2007 Version 5.x-1.5 and 4.7.x-1.5 - Ad expiration varies by taxonomy term. Now you can control ad duration depending on category selection

Overview and rationale at http://exodusdev.com/drupal/modules/ed_classified.module

This module is an alternative to using CCK/flexinode-based approaches. If you just want to drop in a classified ad content type with auto-expiration, this module may be the way to go.

What about paid ads?

Paid classified ads may be implemented by installing the lm_paypal module and limiting ed_classified node creation to paying users using the lm_paypal_paid_adverts or subscriptions feature. Other schemes may work as well, but the ed_classified module does not handle paid ad creation for you - this is beyond the scope of the module at present, although tighter lm_paypal integration is being investigated.

Photo Ads

Photo ads may be implemented using the built-in upload module, combined with one or more of the following contributed modules:

and possibly other modules. I use upload.module, image.module and upload_image combined on my Drupal 4.7 sites, and that combination works pretty well. If you have upload.module, the ed_classified module will allow you to override the attachment form description text on classified nodes, supplying administrator-supplied text - this helps users understand what to do in order to create a photo ad.

Installation & configuration

Read the README.txt file that is part of the distribution.

NOTE: Current CVS versions support MySQL databases only at present - no support for postgres. If any of you have experience with postgres, and want to provide a patch, please do! ed_classified.module and ed_classified.install will have to be modified.

Documentation

Docs at http://drupal.org/node/121877

Releases

Official releasesDateSizeLinksStatus
5.x-1.5-82007-Aug-0627.41 KBRecommended for 5.xThis is currently the recommended release for 5.x.
4.7.x-1.5-42007-Aug-0626.4 KBRecommended for 4.7.xThis is currently the recommended release for 4.7.x.
Development snapshotsDateSizeLinksStatus
5.x-1.x-dev2008-Feb-2427.07 KBDevelopment snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
4.7.x-1.x-dev2008-Feb-2426.48 KBDevelopment snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
 
 

Drupal is a registered trademark of Dries Buytaert.