2

Looking for some general advice, I'm looking to build a store that has 1,500 products. These products are broken down into 40 or so categories, can be in multiple categories and I want to be able to nest these categories in the URL, for example I want to be able to do the following:

site.com/category_parent/category_child/category_childs_child/product_name/
site.com/category_parent/category_child/product_name/
site.com/category_parent/product_name/

The trouble I have is that ExpressionEngines built in categories don't allow this, the only option is to have:

site.com/categories/category_name/product_name/

And if i'm linking to a product from the homepage (without being on a category listing page) you'll end up on:

site.com/product_name

This all gets pretty confusing from a users point of view as the URL system doesn't have any consistency. Is there any options for me to get the URLs working as I want or is ExpressionEngine simply the wrong system for the job?

I've been thinking it might be possible by using the add-on freebie but still can't workout how i'd manage the different levels of category and the fact that there isn't a fixed depth of category… some pages could have 4 levels of categories some only 1.

Would really appreciate someone else's thoughts on this matter, thanks!

1

This is exactly what you want http://devot-ee.com/add-ons/category-url

| improve this answer | |
1

You might consider using the segment variables and Mark Croxton's highly-regarded ifelse plugin.

You can start checking at the highest possible number of segments and work your way back, of course.

| improve this answer | |
0

Subsegment works well with Structure. Subsegment allows you to split a url segment into a subsegments array and find any subsegment.

http://devot-ee.com/add-ons/subsegment

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.