Product Listings (non-ecommerce functionality)

Permalink
I'm going to be creating a website that will feature product listings. The listing system must offer all your typical ecommerce features, minus the ability to purchase items. It's strictly for browsing purposes only.

For example:
- Browse by category
- Search products
- Listings/results page with thumbnails and brief informaiton (title, description, price in US/CAD, manufacturer, maker, etc.)
- Products single page (with detailed information and gallery/images)

All the things you'd expect to find in a listing system, customized only by the product detail options (manufacturer, maker, weight, stock code, us price, cad price, etc).

My issue is I can't find a specific add-on for something like product listings. This leaves me thinking that it may be best to use the e-commerce add on and do my best to hide anything related to the cart/payment process. That way it could just be used for everything else it offers.

What are your thoughts on this? Is there a better option?

Thanks for the advice!

roketto
View Replies:
RadiantWeb replied on at Permalink Reply
RadiantWeb
We have an enterprise product system that we have developed from the ground up. It's extremely powerful. But not for commercial release yet.

Depending on your budget, we may be able to work something out. Mainly because we would need to re-factor a number of pieces of code to make it more generic for you. That being the case, you likely are looking at a higher cost...all be it much cheeper than developing from the ground up.

ChadStrat
mesuva replied on at Permalink Reply
mesuva
What you have described would actually be handled really well by concrete5's built in features (I've done this kind of thing many times with concrete5), it would just require some modest coding. I don't think there is a package for this as it would really just be replicating the built in functionality.

I would approach it this way:
- I'd create a new 'category' page type and a 'product' page type
- I'd create page attributes for the price, additional details, one or more files/images for the main image thumb and additional images, plus other fields you'd need to store about a product (I'd use the page name for the product name and the description field directly).
- I'd configure the product page type for use in the composer, selecting the page attributes to use and restricting it to create product pages under category pages only.
- I'd then modify the template for the product page to output the extra attributes how I needed. This is the coding part, but the actual PHP required is pretty minimal.
- The page list block would be used to list products on category pages, but it's pretty simple by default, so I'd also create a custom block template for it. This would have similar code to the product page to output the attributes, but just in a loop.
- I'd then add a normal search block to search for products, where if necessary I could limit it to just the 'catalogue' section of the site.

With this set up to add a new product it would just be a case of using the composer form, which would have all your fields ready to go. If you needed to adjust a product down the track you could either just edit the custom attributes directly or edit the page again through the sitemap and the composer. The attributes could be expanded easily later on too. You could even have things like checkboxes to mark products as on special or as new, it's very flexible.

For both the product page and the custom block template for the page list block the trickiest part is outputting the thumbnail for the product - but if you look at the default page list template it's actually got a commented out example of how to do this.

Using ecommerce for this would be overkill I think, and you would have product forms with lots of fields on them that wouldn't be needed.

If you wanted to avoid coding altogether, you may be able to use some finer grained blocks in the marketplace to output the attributes, packages like this come to mind:
-http://www.concrete5.org/marketplace/addons/page-properties/...
-http://www.concrete5.org/marketplace/addons/page-list-plus/...

I personally would look to just create hardcoded product pages as it would be quicker and you'd have a little more control, but this all depends on your coding experience.

For cases where you needed to link to another page in the sitemap (like a manufacturer page), I'd use:
-http://www.concrete5.org/marketplace/addons/page-selector-attribute...

As for an example of this setup, this site (http://www.bdms.com.au) organises all of it's machines for sale under categories, with the actual machine data being input using the composer. For a simpler example, here's a business directory we created:http://www.saba.org.au/directory/website-and-internet-services/... , with each business listing just being a page with attributes and business categories are just pages with customised page lists on them. Both these sites are set up as described above, with no extra packages necessary. With the BDMS one I've done some tricks with outputting youtube videos and lightboxes for images, but underneath the same structure applies.
savvyeye replied on at Permalink Reply
savvyeye
very, very nice ideas!

thanks for that.