PHPackages                             j4wx/theme\_picker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. j4wx/theme\_picker

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

j4wx/theme\_picker
==================

Advanced theme selection/negotiation for Drupal 8

1.0.0-alpha2(7y ago)146MITPHP

Since Oct 24Pushed 7y ago1 watchersCompare

[ Source](https://github.com/J4Wx/theme_picker)[ Packagist](https://packagist.org/packages/j4wx/theme_picker)[ RSS](/packages/j4wx-theme-picker/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)DependenciesVersions (4)Used By (0)

Drupal - Theme Selector
=======================

[](#drupal---theme-selector)

*Using Fields for Theme Selection in Drupal 8*

This module performs theme negotiation using fields. A content type can have it's theme set in one of three ways (ordered by descending priority):

- Through a "Theme" field, with the machine name "field\_theme\_selection".
- Through an entity reference field, with the machine name "field\_parent\_theme".
- Through an entity reference field, with the machine name "field\_parent".

If either of the entity reference fields are chosen, the referred entity can have it's theme set using either of those methods. This means the following is possible:

Category Page (With field\_theme\_selection), Subcategory page (with field\_parent or field\_parent\_theme), Content page (with field\_parent or field\_parent\_theme).

Changing the category page's field\_theme\_selection would change update itself, the subcategory page and the content page. This can be theoretically looped infinitely, but each of the nodes traversed is accessed independently so this could be a costly process with several traversed nodes.

Plans
-----

[](#plans)

- Initial Version
- Use paned settings (like drupal/metatags)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

2757d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ec4b2f97a2fd8f4a742e995c5de3c7ea7b8e04cbeef35d205264b7f04a3a4bdf?d=identicon)[J4Wx](/maintainers/J4Wx)

---

Top Contributors

[![J4Wx](https://avatars.githubusercontent.com/u/3397311?v=4)](https://github.com/J4Wx "J4Wx (2 commits)")

### Embed Badge

![Health badge](/badges/j4wx-theme-picker/health.svg)

```
[![Health](https://phpackages.com/badges/j4wx-theme-picker/health.svg)](https://phpackages.com/packages/j4wx-theme-picker)
```

###  Alternatives

[aliziodev/laravel-taxonomy

Laravel Taxonomy is a flexible and powerful package for managing taxonomies, categories, tags, and hierarchical structures in Laravel applications. Features nested-set support for optimal query performance on hierarchical data structures.

23318.4k](/packages/aliziodev-laravel-taxonomy)[classpreloader/console

Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case

10235.0k5](/packages/classpreloader-console)[thalidzhokov/country-codes

CountryCodes PHP Class to get array of countries with ISO 3166-1 alpha-2, ISO 3166-1 alpha-3, ISO 3166-1 numeric and ISD codes it can provide following information related to country

13111.5k](/packages/thalidzhokov-country-codes)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
