CURRENT PR TO TEST: https://github.com/backdrop/backdrop/pull/4685

This is the "sibling" issue of #1131 and part of the #345 meta-issue. Also part of #378. See https://github.com/backdrop/backdrop-issues/issues/2894#issuecomment-435... for details/screenshots.

The Field Layout experimental module in D8 core seems to be doing this:

One of the nice improvements that went in Drupal 8.3 was the Field Layout module, which provides the ability to apply pre-defined layouts to what we call "entity displays". Instead of applying layouts to individual pages, you can apply layouts to types of content regardless of what page they are displayed on. For example, you can create a content type 'Recipe' and visually lay out the different fields that make up a recipe. Because the layout is associated with the recipe rather than with a specific page, recipes will be laid out consistently across your website regardless of what page they are shown on.

https://www.youtube.com/watch?v=mJBHQJFHqws https://www.youtube.com/watch?v=YC3zDt_cR2g


Newer issue by @stpaultim

Description of the need

Field blocks are one of the most powerful and useful features that are very hard to find or discover in Backdrop CMS. Over the years I have enjoyed watching the expressions of joy on the face of site architect's as I show them this feature, while growing increasingly frustrated that almost no one (including myself) finds it on their own or through documentation.

In modern Drupal, with the new layout buider installed a site architect is able to enable layouts, click manage layout for that content type and they are presented with a customizable layout that already has visible field blocks for all of their fields. It's quite easy to discover and use this ability to drag and drop fields from one region to another within the core UI.

I think that we can simulate this experience in Backrop CMS and make field blocks a much easier feature to find and use.

Proposed solution

I haven't decided on what I think is the best workflow for this yet. But, I'll share this idea to get the discussion going and I welcome ideas for how to improve on this.

1) Add a "Create Custom Layout" option to the drop down for each content type on the Content Type page.

image

Clicking on this link, would take person to a preconfigured layout that looks something like this:

image

This would already be completed and saved but could be edited:

image

Alternatives that have been considered

I have not yet considered many alternatives. I am sure there are more complicated and far reaching solutions to this problem, but I see this solution as a step in that direction. Since this PR does not really add or change any functionality in Backdrop CMS, it just brings an important feature closer to the surface where folks will be much more likely to find and use it on their own.

Is there a Drupal or Backdrop contributed module that accomplishes this?

The Layout System is quite different in modern Drupal, but there is a workflow very similar to this built into Layout Builder.

Additional information

In Modern Drupal, one would accomplish the same thing on the Manage Display page for a content type: image

Clicking on the Manage Layout option in DRUPAL takes one to this page with field blocks that one can easily reorder or drag and drop into other sections/regions.

image

Concerns

I'd want to make sure that we're not confusing this feature with existing features to manage the display of content types.

Draft of feature description for Press Release (1 paragraph at most)

Backdrop CMS now includes an easy to use wizard that makes it much easier to use the existing layout system to create custom layouts for content types and along the way helps new site architects find hidden features and better understand the layout system.


Original issue summary by @bobchristenson

As I started using Backdrop and learned about Layouts, I expected to be able to choose a default layout per content type in the UI. So, for example, I expected to be able to edit my content type (ie. /admin/structure/types/manage/page) and in the 'vertical tabs' see a "Layout" tab.

In that tab I'd envision a simple selector that would default to the 'default' layout template, but listed all available/active Layout templates. You'd choose one and that would be used in the backend for the content type.

I don't know a lot about Layouts, but it seems that technically making a selection here would enter a layout based on path (node/%) and would add a visibility condition for that content type....more or less making it a more streamlined (and obvious) process for per-content-type-layouts.

You'd then be able to manage/delete/whatever this layout in the Layouts screen (if you deleted the Layout or removed the condition/path, it would default the content type selection back to Default)

Just a perspective from a D7 user coming to Backdrop...hope the idea is helpful!

ADVOCATE: @stpaultim

GitHub Issue #: 
2894