4

I'm building a site with approximately 5 different channels and five different field groups. The home page of the site has multiple "feature" areas that can feature any of the entries from any of those channels. I need a way to allow users to "flag" an entry as a feature for the home page, then for an admin to take that entry and place it in any one of the 5 feature areas of the home page.

I have the second part of this equation (the admin placing the feature) figured out — I'm using Low Variables and Playa for that and it's amazing. It's the first part (users flagging entries as features in the control panel) that I haven't been able to hammer down a great method for.

As I mentioned, any one of the 5 or so channels can have entries flagged as a feature, and each of those channels has a different field group. When flagging any entry as a feature there are a few required things:

  1. Feature Image
  2. Excerpt
  3. Department

That goes for any entry in any channel. The tricky thing for me is the fact that I can't have similarly titled fields in different field groups.

Any ideas on ways to pull this off so it's not a convoluted process for the user?

  • are you wanting to "flag" on the front end or in the EE control panel? – Mel Nov 28 '12 at 14:14
  • Control panel. Staff will add entries to the CMS and flag what they'd like to make a featured page, and Admins will then choose from that queue and place them in one of 6 spots on the home page. – Brandon Durham Nov 28 '12 at 18:59
  • in that case, statuses should do the trick ( see my answer below ) – janvl Nov 28 '12 at 19:10
4

Can't you use statuses for that ? After all, that's why we have them.

It's standard EE, easy to use across different channels and easy to output the featured entries in your front-end:

{exp:channel:entries channel="#" status="featured"}
| improve this answer | |
3

I would either use make entry sticky, which is a flag that can be retrieved in a channel entries tag, or I would set up a custom 'Featured' status in the Default Statuses status group and use that. (Note: if you do that, make sure to go into Admin -> Channels, then pick Edit Group Assignments for each channel and explicitly select Default Statuses (instead of None) from the Status Group dropdown.

Categories are WAY more overhead that you don't need for this use-case.

Update:

If you use a Status instead of the Sticky flag, you also need to make sure that all of your exp:channel:entries tags and Playa tags contain the parameter status="not closed", because if you do not specify that it will default to showing Open entries only (and therefore not your Featured entries!)

| improve this answer | |
  • I think the category overhead for this situation would only be in the control panel since the assignment is ultimately using Playa. If you go the status route, just make sure to keep that in mind everywhere you use the entries tag (or tags that default to open status) for those 5 channels. – Jim Butts Nov 28 '12 at 16:51
  • Agreed on entries tags. Editing answer to be clearer about that. Categories are STILL overhead, no matter what -- anywhere you limit based on a category, even in a Playa tag, it adds an extra JOIN to the resulting query. – adrienne Nov 28 '12 at 20:39
  • I was thinking there wouldn't be category limits on the Playa tag in the templates--only in the Playa's custom field settings for available entries to choose from. Once they are assigned, I would assume you could disable categories on the front end. Would it still be adding joins in that case? – Jim Butts Nov 29 '12 at 3:08
  • No, not if you disabled categories, that's true. – adrienne Nov 30 '12 at 3:24
2

You could create a category group specifically for featured, then set up your Playa field to only show items from that category.

As far as the additional fields, if you don't want similar fields in multiple channels, and if you don't want to create a new channel specifically for featured fields, you could create a matrix with:

  • Featured Item (Playa to your 5 channels filtered by featured category)
  • Feature Image
  • Excerpt
  • Department
  • Any other custom fields you need

This would also allow you to use Matrix's settings to set min and max number of required featured entries for the home page.

This would change the workflow a bit in that flagged entries will need the additional info added when they are assigned to the homepage.

I generally avoid using sticky for this situation because I don't necessarily want a featured item to always be listed before non-featured items.

| improve this answer | |
2

One option could be to create a "Featured" Category group all of those 5 channels could use. A user would select entries they would like featured using this category.

You would change the Playa settings to only show the Featured category, so that the admin would only see entries filtered by this category when they are selecting content to feature.

| improve this answer | |
1

Can you just use the 'Make entry sticky' checkbox in the entry?

Otherwise I would go down the route of having to add a custom field to each channel :/

OR

You create another channel called 'featured items' with a Playa field and the Feature Img/Excerpt/Dept. fields in it. Then the users choose an entry + add these details and by default, an entry in this channel is 'meant' for the homepage.

| improve this answer | |
1

User accessible low variables in a homepage "group" (one per featured "zone") and a low variable using select entries?

No real need for Playa here IMHO. Simplified process. Maybe users can do it themselves, provided that if nothing is selected, the latest entry or some other fallback gets displayed instead.

| 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.