Conversation
Cms_Service_Paths enumerated Tiger_Theme::inventory() — every INSTALLED theme, active or not — so the home-page selector offered pages from deactivated theme modules, letting / be pointed at a theme that isn't on (how a stale @theme:grey-mist home got set). The picker now skips a theme whose module (theme-<key>) is in Tiger_Model_Module::inactiveSlugs(); plain themes/<name> themes (no module to deactivate) stay available. Reuses the Tiger_Code_Modules inactive-slugs pattern. Selector-only — the stored value, its label resolution, and themeContentAction are untouched. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ASauLLscjqdsNqBNsx2Typ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Cms_Service_Paths(the/apisource for the home-page selector's combobox) now lists a theme's pagesonly when that theme is activated. A theme shipped as a module (
modules/theme-<key>) must have itsmodule active; a plain
themes/<name>theme has no module to deactivate, so it stays available.Why
It enumerated
Tiger_Theme::inventory()— every installed theme, active or not (the method's owndocblock says so) — so the picker offered pages from deactivated theme modules. That let
/bepointed at a theme that isn't even on, which is how a stale
@theme:grey-misthome got set on a sitewhose active theme is something else. You can't serve a page from a theme that's turned off.
Scope
Selector data only. Reuses the
Tiger_Code_Modulesinactive-slugs pattern(
array_flip((new Tiger_Model_Module())->inactiveSlugs())). The storedhome_pagevalue, its labelresolution (
labelFor), andthemeContentActionare untouched.Verified on dev
Inactive theme modules on tiger-dev:
theme-porto,theme-crafto-interior,theme-tigermarketing.Before: the picker listed all of them. After: the advanced picker's theme group lists only
@theme:grey-mist(the one activated theme module); the three inactive ones are gone.🤖 Generated with Claude Code
https://claude.ai/code/session_01ASauLLscjqdsNqBNsx2Typ