<p>For me this looks like a perfect fit for one structure with different entry types for each of your content types (text, video and recipes). Each entry type can have it's own set of fields, so there's no difference to individual channels (with one entry type each).</p>

<p>You can simply have the entry type's handle in your URIs, as the <code>{type}</code> tag is available in section URL settings (→ see <a href="http://buildwithcraft.com/help/entry-type-urls" rel="nofollow">help article</a>), or you'd set up custom <a href="http://buildwithcraft.com/docs/routing#dynamic-routes" rel="nofollow">dynamic routes</a>.</p>

<p>Via the entry's <code>entry.type</code> property you can include individual template partials for each entry type on your index page:</p>

<pre><code>{% for entry in craft.entries.section('blog') %}
    &lt;li&gt;
        &lt;h2&gt;{{ entry.title }}&lt;/h2&gt;
        {% include '/blog/_partials/' ~ entry.type %}
    &lt;/li&gt;
{% endfor %}
</code></pre>

<p>Same for your _entry.html file:</p>

<pre><code>{% include '/blog/' ~ entry.type %}
</code></pre>

<p>And I've heard that structures with many hundreds or thousands of entries is no problem for the control panel. I think it was Craft 2.0 that had many optimizations in that respect.</p>

CC BY-SA 3.0
2015-05-26T16:33:47.687Z
This seems like a great solution if I do go the Structure route. Still a bit concerned about having it all in one section when you can't organize by Entry Type in the CP. And could having just the one section be overkill just to accomplish a sorted section of the homepage?
John Johnson
CC BY-SA 3.0
2015-05-26T17:11:53.520Z
You can have them sorted by entry type in the CP, making use of hooks from a very simple plugin. Have a look at `modifyEntryTableAttributes`, `getEntryTableAttributeHtml` and `modifyEntrySortableAttributes`; example code is here on SE. You could even have them separated into custom views selectable from the sidebar with `modifyEntrySources`. The php code to do this is a little bit more complex, but there's example code in form of P&T's [CategorySources](https://github.com/pixelandtonic/CategorySources) plugin. Or just use that plugin and have your entries listed by your category groups?
carlcs
CC BY-SA 3.0
2015-05-26T19:13:50.567Z
It appears that Structures default to ordering in Ascending order in the CP. Is there a setting to have it default sort in Descending order?
John Johnson
CC BY-SA 3.0
2015-05-26T19:18:42.133Z
Oh damn, I hadn't thought of that. Hmm, I actually do not know a way, but I can remember someone asking P&T to implement this. Are you on Craft Slack?
carlcs
CC BY-SA 3.0
2015-05-26T19:32:09.033Z
Just registered.
John Johnson
CC BY-SA 3.0
2015-05-29T18:44:46.307Z
Have you found anything new carlcs? You'd think that would be an option in the settings when creating a Structure. I also tried combining two sections just to see what happens, and it displays entries every-other in the order they are in their individual sections; so that option is out.
John Johnson
CC BY-SA 3.0
2015-05-29T21:54:57.330Z
No sorry, I asked on Slack but nobody answered. Separate sections makes manual sorting impossible, but how often does it happen, is this more of a special case and you could only then use structure view and use table view descending order as a default?
carlcs
CC BY-SA 3.0
2015-05-29T22:11:42.967Z
Ok, here's where I read about it: http://feedback.buildwithcraft.com/forums/285221-feature-requests/suggestions/7205061-setting-to-append-or-prepend-new-structure-entries
carlcs
CC BY-SA 3.0
2015-06-01T14:12:31.033Z
That's almost exactly my scenario.
John Johnson
CC BY-SA 3.0
2015-05-26T14:58:55.893Z
2015-05-26T14:58:55.893Z
carlcs
<p>I'm looking to combine three different channels on the homepage, ordered by date, unless the client rearranges the hierarchy in the CP.</p>

<p>Low Reorder for EE had this customization, where entries would come into the plugin ordered by date, but you could drag and drop entries to the top if you wanted to rearrange the hierarchy.</p>

<p>Craft Structures is close, but 1) I need to combine three different channels into one hierarchy, and 2) these channels will grow immensely over time, so Structures will become cumbersome.</p>

<p>What are my options, if any? Is there a Low Reorder-type plugin out there?</p>

CC BY-SA 3.0
2015-05-26T14:00:11.730Z
Does it have to be three different channels or would refactoring these into one structure with three different entry types be an option?
carlcs
CC BY-SA 3.0
2015-05-26T14:05:24.273Z
I suppose that could be an option, but may disrupt the URL format. Each channel has it's own URL format: channel1/slug, channel2/slug, etc.

Each channel has a different set of categories as well, but I don't think that poses a problem.
John Johnson
CC BY-SA 3.0
2015-05-26T14:10:26.400Z
No categories is not a problem, you have a dedicated set of field for each entry type. And you can have individual URLs per entry type as well by making use of dynamic routes.
carlcs
CC BY-SA 3.0
2015-05-26T14:11:55.247Z
Or even simpler: http://buildwithcraft.com/help/entry-type-urls
carlcs
CC BY-SA 3.0
2015-05-26T14:16:35.443Z
So there's only your concern left with a structure section getting unmanageable over time. Not having used Low Reorder or EE in general, what would be the advantages of that plugin over using a Craft structrue?
carlcs
CC BY-SA 3.0
2015-05-26T14:25:39.903Z
TBH, not a whole lot. The downside to that plugin was that it didn't have a limit option either, so every single entry went into that plugin as well. When it hit 1000 entries, it wouldn't save properly I found out. Ideally I would have a limit option, so only a specified amount of entries would be in the reordering process, the remaining amount of entries just go back to their normal self -- if that makes sense.
John Johnson
CC BY-SA 3.0
2015-05-26T14:28:53.327Z
Also, perhaps because I haven't done it before, I'm a bit uncomfortable with having 80% of my site's entries all in one section. There will be recipes, videos, and your typical text-based entries. But with Entry Types, it may be basically the same thing as having 3 different sections, just a bit more work in the templates to pull certain Entry Types, right?
John Johnson
CC BY-SA 3.0
2018-01-04T15:07:57.483Z
Man, I am still missing Low Reorder for Craft. This functionality need comes up pretty often for me. What did you end up doing?
Alex Kendrick
<entries><structure><sorting>
Ordering homepage posts by date, but give customized ordering option in CP
# Ordering homepage posts by date, but give customized ordering option in CP

(Asked by: username_0 on 2015-05-26)

I'm looking to combine three different channels on the homepage, ordered by date, unless the client rearranges the hierarchy in the CP.

Low Reorder for EE had this customization, where entries would come into the plugin ordered by date, but you could drag and drop entries to the top if you wanted to rearrange the hierarchy.

Craft Structures is close, but 1) I need to combine three different channels into one hierarchy, and 2) these channels will grow immensely over time, so Structures will become cumbersome.

What are my options, if any? Is there a Low Reorder-type plugin out there?

**Tags:** entries, structure, sorting

> **Comments:**
> **username_1**: Does it have to be three different channels or would refactoring these into one structure with three different entry types be an option?  
> **username_0**: I suppose that could be an option, but may disrupt the URL format. Each channel has it's own URL format: channel1/slug, channel2/slug, etc.  Each channel has a different set of categories as well, but I don't think that poses a problem.  
> **username_1**: No categories is not a problem, you have a dedicated set of field for each entry type. And you can have individual URLs per entry type as well by making use of dynamic routes.  
> **username_1**: Or even simpler: http://buildwithcraft.com/help/entry-type-urls  
> **username_1**: So there's only your concern left with a structure section getting unmanageable over time. Not having used Low Reorder or EE in general, what would be the advantages of that plugin over using a Craft structrue?  
> **username_0**: TBH, not a whole lot. The downside to that plugin was that it didn't have a limit option either, so every single entry went into that plugin as well. When it hit 1000 entries, it wouldn't save properly I found out. Ideally I would have a limit option, so only a specified amount of entries would be in the reordering process, the remaining amount of entries just go back to their normal self -- if that makes sense.  
> **username_0**: Also, perhaps because I haven't done it before, I'm a bit uncomfortable with having 80% of my site's entries all in one section. There will be recipes, videos, and your typical text-based entries. But with Entry Types, it may be basically the same thing as having 3 different sections, just a bit more work in the templates to pull certain Entry Types, right?  
> **username_2**: Man, I am still missing Low Reorder for Craft. This functionality need comes up pretty often for me. What did you end up doing?  

---

## 1 answers

### Answer by username_1 on 2015-05-26. Score: 2

For me this looks like a perfect fit for one structure with different entry types for each of your content types (text, video and recipes). Each entry type can have it's own set of fields, so there's no difference to individual channels (with one entry type each).
You can simply have the entry type's handle in your URIs, as the {type} tag is available in section URL settings (→ see help article), or you'd set up custom dynamic routes.
Via the entry's entry.type property you can include individual template partials for each entry type on your index page:
{% for entry in craft.entries.section('blog') %}
    
        {{ entry.title }}
        {% include '/blog/_partials/' ~ entry.type %}
    
{% endfor %}

Same for your _entry.html file:
{% include '/blog/' ~ entry.type %}

And I've heard that structures with many hundreds or thousands of entries is no problem for the control panel. I think it was Craft 2.0 that had many optimizations in that respect.

> **Comments:**
> **username_0**: This seems like a great solution if I do go the Structure route. Still a bit concerned about having it all in one section when you can't organize by Entry Type in the CP. And could having just the one section be overkill just to accomplish a sorted section of the homepage?  
> **username_1**: You can have them sorted by entry type in the CP, making use of hooks from a very simple plugin. Have a look at `modifyEntryTableAttributes`, `getEntryTableAttributeHtml` and `modifyEntrySortableAttributes`; example code is here on SE. You could even have them separated into custom views selectable from the sidebar with `modifyEntrySources`. The php code to do this is a little bit more complex, but there's example code in form of P&T's [CategorySources](https://github.com/pixelandtonic/CategorySources) plugin. Or just use that plugin and have your entries listed by your category groups?  
> **username_0**: It appears that Structures default to ordering in Ascending order in the CP. Is there a setting to have it default sort in Descending order?  
> **username_1**: Oh damn, I hadn't thought of that. Hmm, I actually do not know a way, but I can remember someone asking P&T to implement this. Are you on Craft Slack?  
> **username_0**: Just registered.  
> **username_0**: Have you found anything new username_1? You'd think that would be an option in the settings when creating a Structure. I also tried combining two sections just to see what happens, and it displays entries every-other in the order they are in their individual sections; so that option is out.  
> **username_1**: No sorry, I asked on Slack but nobody answered. Separate sections makes manual sorting impossible, but how often does it happen, is this more of a special case and you could only then use structure view and use table view descending order as a default?  
> **username_1**: Ok, here's where I read about it: http://feedback.buildwithcraft.com/forums/285221-feature-requests/suggestions/7205061-setting-to-append-or-prepend-new-structure-entries  
> **username_0**: That's almost exactly my scenario.  

---

