Best way to build a product catalogue?

Permalink 2 users found helpful
I have a need to create a products section in a typical manner but I'm unsure how to achieve this with Concrete?

E.g.

User clicks on 'Products', they see a list of product categories e.g. 'Mushrooms', 'Strawberries' and 'Potato's' with a thumbnail of each. They choose a category and that takes them to a page showing various products within that category e.g. 'Mushroom product 1', 'Mushroom product 2'. How can I achieve this? I don't want ecommerce, merely a way of showing the products in a sensible heir-achy.

For example, if I make separate pages for each product (will use Jordanlev's excellent Designer Content to make a suitable block for products), below a page for the parent category, how do I make the page for the parent category display 'excerpts' of the pages below it automatically?

products
- mushrooms (this needs to show excerpts of the products/pages below)
--mushroom product 1
--mushroom product 2
-strawberries
-potatos

Does this make any sense? Can anyone advise of the best way to do this? Any pointers appreciated...

benfrainuk
View Replies:
12345j replied on at Permalink Reply
12345j
i think you want the page list to show snippets of pages below it.
jordanlev replied on at Permalink Reply
jordanlev
I agree with @12345j's suggestion. To further clarify what I think he's getting at:

Instead of making each product a block, make each product a page. Use the sitemap hierarchy to organize them into categories. Use page attributes to store data, and use the Composer dashboard interface to facilitate quick data entry of new products (pages + attributes + content). Then use Page List blocks with custom templates to display the "products" (pages) in each category.

Or if your client will be creating new categories a lot, instead of using the sitemap hierarchy as a categorization tool, instead use a select attribute, then create a single_page that displays the lists of categories by querying the available "categories" (attribute options) and displays pages matching that attribute after user has chosen them. This technique will require a bit of programming, see these threads for a bunch of details on doing this:
http://www.concrete5.org/community/forums/block_requests/content-re...
http://www.concrete5.org/community/forums/customizing_c5/get-page-t...
http://www.concrete5.org/community/forums/customizing_c5/how-to-wan...

But the point is that generally the best way to treat "data" in the Concrete5 world is that one page equals one unit of data. This lets you leverage a ton of existing features of the CMS... otherwise you're basically creating your own catalog system yourself from scratch (which is so 2004).

Good luck!

-Jordan
benfrainuk replied on at Permalink Reply
benfrainuk
Jordan, thanks for that info. Extremely helpful as always. 12345j - thanks also for responding.

Will do a search on creating templates for Page List blocks and try and figure it from there.