0

I have multiple parent categories:

Kids Stuff Dining Out Things to Do

Each of those parents have multiple children:

Kids Stuff -> Schools, Camps, Parties Dining Out -> Restaurants, Catering Things to Do -> Day Trips, Weekend Getaways, Activities

Entries can be in more than one Parent as well as more than one Child.

On the individual entry page, I need to show the categories the entry is assigned and the link to the (parent or child) category page.

PARENTS:

/kids-stuff/ /dining-out/ /things-to-do/

Parents work fine. It's the Children that are a problem.

I want the Child Category URL's to show the Parent name (each parent category has a different template), as well as the child name like so:

CHILDREN: /kids-stuff/schools/ /kids-stuff/camps/ /kids-stuff/parties/ /dining-out/restaurants/

and so on.

Instead EE is giving them the following URL's /schools/ /camps/ /parties/ /restaurants/

Thanks for any help or insight you can offer.

1 Answer 1

4

Yup, the solution here is to use the GWcode Categories plugin rather than the standard EE Channel Categories tag, and Low Seg2Cat instead of relying on EE's dynamic category methods.

So, to output your categories list (as a simple example):

{exp:gwcode_categories channel="my_channel"}
    <a href="/filter/{complete_path}">{cat_name}</a>
{exp:gwcode_categories}

This will output a nested list of categories, and each will link to a URL containing every category_url_title all the way up the category tree for that particular category.

Then, in your filter/index template (again, just an example):

{exp:channel:entries channel="my_channel" category="{segment_category_ids}"}
    ... list your stuff ...
{/exp:channel:entries}

This will show only entries assigned to all of the categories listed in the URL.

1
  • Thanks Derek. It looks like {complete_path} is what I'm after. Low Seg2Cat isn't needed as my category templates are displaying just fine the way we have it. Thank you!
    – Mel
    Feb 22, 2013 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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