Skip to content

RFC: Theme & Container Selection Using Multiple Themes #3104

@mitchelsellers

Description

@mitchelsellers

Description of Problem

In the current Theme/Container selector you are only able to select themes & containers from the same theme pack. Prior to DNN 9.x it was possible to use a Themes and Containers from different theme packs. This was important in enterprise applications that setup "shared" packages. Consider this example.

The site has the following structure inside of the /Portals/_default folder

/Containers
/Containers/CompanyAContainers <- This contains multiple containers such as H1, H2, H3, etc.
/Skins/SiteATheme <- This contains the theme for this site
/Skins/SiteBTheme <- This contains the theme for a different site
..etc

In prior versions of DNN. you could set site/page defaults to use /CompanyAContainers - H1 as the container and you could pick any of the themes as well

Current behavior

This has a dual impact in regards to behavior on sites using DNN 9.x depending on the nature of the site.

  • If the site was upgraded, everything works, until you save Page Settings or Site Settings. Then the first container from the selected theme will automatically override the old value
  • If the site is new, you just can not select/use the other containers

Proposed Solution Option 1

I would propose that users be allowed to select the "Theme Package" or otherwise, within the Containers section to support the use of hybrid themes.

This would be needed on "Page Settings" as well as "Site Settings"

Current Workaround

The current workaround requires the usage of database queries to find/edit the values directly.

Alternatives Researched

The only real alternative is to identify that this feature is not desired, and create a recommendation for people to change their processes.

Affected version

9.0.0 and later

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions