<p>Correct, there's no way out of the box to reorder fields on the fly in the Entry editor. If you're comfortable with Craft plugin development though I'm sure it's possible to extend Craft and add the ability to do what you want to do. It's also possible that someone has already developed a plugin that achieves this but I personally don't know of any off the top of my head.</p>

<p>However, it seems in your case that if you want to be able to rearrange fields in the Entry editor, your best solution is to put those fields inside a Matrix field. When you have created several fields inside a Matrix field, those "sub-fields" are then arrangeable in whichever order you prefer in the Entry editor. If you've never used Matrix fields before, here's the documentation link so you can read up on it: <a href="https://craftcms.com/docs/matrix-fields" rel="nofollow noreferrer">https://craftcms.com/docs/matrix-fields</a></p>

<p>Another alternative would be to use the <a href="https://github.com/benjamminf/craft-neo" rel="nofollow noreferrer">Neo</a> field - if you decide to use Neo, you can just reference your currently existing fields and then add only the Neo field to the page.</p>

<p>Hopefully that helps to answer your question. Cheers!</p>

CC BY-SA 3.0
2018-02-26T16:11:56.740Z
Man thanks @Jalen Davenport for the comment and links.
Filth
CC BY-SA 3.0
2018-02-26T16:13:53.450Z
Definitely. Let me know if you have any questions @Filth!
Jalen Davenport
CC BY-SA 3.0
2018-02-26T16:07:32.667Z
2018-02-26T16:07:32.667Z
Jalen Davenport
<p>I'm not sure if there is already a plugin for that but you can create one. It's not that hard because you can re-arrange the field layout in the <code>cp.entries.edit</code> hook </p>

<pre><code>craft()-&gt;templates-&gt;hook(
    'cp.entries.edit',
    function(&amp;$context) {
        $layout = craft()-&gt;fields-&gt;getLayoutById(id of your new field layout);
        $context['section']-&gt;getEntryTypes()[0]-&gt;fieldLayout = $layout;
    }
);
</code></pre>

<p>You can create a form to save a new field Layout based on the old one and stores those values in a custom database table. Based on the old field layout Id you'll return a new one for the correct user</p>

CC BY-SA 3.0
2018-02-26T16:24:11.977Z
2018-02-26T16:24:11.977Z
Robin Schambach
<p>I'm wanting to have the order of my elements within a template dynamic so that the user whilst in a template of page can reorder the modules as they please. </p>

<p>See screenshot for example</p>

<p><a href="https://i.sstatic.net/26tAi.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/26tAi.png" alt="enter image description here"></a></p>

<p>Within the entries of the home page where I am editing content, could I reorder the "Hero Detail Body" to appear above the "Hero Detail Heading"? </p>

<p>My initial thoughts were no as within the Sections site, the components display order are defined for the template / tab there. </p>

<p>Is this possible?</p>

<sections><ordering>
Craft CMS - Dynamic Order Field Layout In Sections
# Craft CMS - Dynamic Order Field Layout In Sections

(Asked by: username_0 on 2018-02-26)

I'm wanting to have the order of my elements within a template dynamic so that the user whilst in a template of page can reorder the modules as they please.

See screenshot for example

[![enter image description here](https://i.sstatic.net/26tAi.png)](https://i.sstatic.net/26tAi.png)

Within the entries of the home page where I am editing content, could I reorder the "Hero Detail Body" to appear above the "Hero Detail Heading"?

My initial thoughts were no as within the Sections site, the components display order are defined for the template / tab there.

Is this possible?

**Tags:** sections, ordering

---

## 2 answers

### Answer by username_1 on 2018-02-26. Score: 2

Correct, there's no way out of the box to reorder fields on the fly in the Entry editor. If you're comfortable with Craft plugin development though I'm sure it's possible to extend Craft and add the ability to do what you want to do. It's also possible that someone has already developed a plugin that achieves this but I personally don't know of any off the top of my head.

However, it seems in your case that if you want to be able to rearrange fields in the Entry editor, your best solution is to put those fields inside a Matrix field. When you have created several fields inside a Matrix field, those "sub-fields" are then arrangeable in whichever order you prefer in the Entry editor. If you've never used Matrix fields before, here's the documentation link so you can read up on it: <https://craftcms.com/docs/matrix-fields>

Another alternative would be to use the [Neo](https://github.com/benjamminf/craft-neo) field - if you decide to use Neo, you can just reference your currently existing fields and then add only the Neo field to the page.

Hopefully that helps to answer your question. Cheers!

> **Comments:**
> **username_0**: Man thanks @Jalen Davenport for the comment and links.  
> **username_1**: Definitely. Let me know if you have any questions @Filth!  

---

### Answer by username_2 on 2018-02-26. Score: 1

I'm not sure if there is already a plugin for that but you can create one. It's not that hard because you can re-arrange the field layout in the cp.entries.edit hook 
craft()->templates->hook(
    'cp.entries.edit',
    function(&$context) {
        $layout = craft()->fields->getLayoutById(id of your new field layout);
        $context['section']->getEntryTypes()[0]->fieldLayout = $layout;
    }
);

You can create a form to save a new field Layout based on the old one and stores those values in a custom database table. Based on the old field layout Id you'll return a new one for the correct user


---

