Problem/Motivation

Themes may declare a schema of settings. These settings are not automatically exposed on a theme's setting's page. For example, the Seven theme has a setting for shortcut_module_link.

seven.settings:
  type: theme_settings
  label: 'Seven settings'
  mapping:
    shortcut_module_link:
      type: boolean
      label: 'Shortcut module link'

Proposed resolution

Expose a theme's settings defined in schema on the theme's appearance settings page.

Remaining tasks

User interface changes

API changes

Comments

sun’s picture

I... don't think we want an automation for theme settings form elements.

  1. Modules like Shortcut module that expose theme settings can and should alter the theme settings form.

    That is, at least in the current architectural design; cf. #2235901: Remove custom theme settings from *.info.yml

  2. Base themes typically provide excessive settings, which may use very advanced Form API features (like vertical tabs, #states, etc). For example, the Omega theme exposes a complete page layout builder UI on its theme settings page. I can only assume that such themes would be very unhappy if their underlying settings would be automatically exposed as primitive form elements...

So I actually think the proposal won't fix...

effulgentsia’s picture

Status: Active » Closed (won't fix)

I agree with #1. Additionally, nowhere else in core other than config translation does the existence of a config schema definition automatically create a UI. Doing so may be something we want to explore in contrib or in D9, but I think it's too late to open that can of worms for D8 core.

jessebeach’s picture

Valid arguments. I'm ok with closing this.