PHPackages                             joshkosmala/silverstripe-hierarchicalcheckboxsetfield - 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. joshkosmala/silverstripe-hierarchicalcheckboxsetfield

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

joshkosmala/silverstripe-hierarchicalcheckboxsetfield
=====================================================

A SilverStripe form field for adding nested checkboxes using parent and child dataobjects

0132[5 PRs](https://github.com/joshkosmala/silverstripe-hierarchicalcheckboxsetfield/pulls)PHP

Since Jun 10Pushed 10y ago2 watchersCompare

[ Source](https://github.com/joshkosmala/silverstripe-hierarchicalcheckboxsetfield)[ Packagist](https://packagist.org/packages/joshkosmala/silverstripe-hierarchicalcheckboxsetfield)[ RSS](/packages/joshkosmala-silverstripe-hierarchicalcheckboxsetfield/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (3)Used By (0)

Hierarchical Checkbox Set Field
===============================

[](#hierarchical-checkbox-set-field)

This field will produce a set of nested checkboxes.

The source can be a `Hierarchy` of dataobjects, or a multi dimensional array.

The values can be a be an array or a string.

Usage
-----

[](#usage)

```
$field = HierarchicalCheckboxSetField::create("Pages", "Pages",
	Page::get()
		->filter("ParentID", 0),
	"Children",
	Page::get()
		->filter("ParentID", 0)
		->filter("ShowInMenus", true)
		->map('ID','ID')
		->toArray()
);
$field->setChildSort("Title DESC");
$field->setChildFilter("ShowInSearch = 1");
```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% 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.

### Community

Maintainers

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

---

Top Contributors

[![jedateach](https://avatars.githubusercontent.com/u/1356335?v=4)](https://github.com/jedateach "jedateach (6 commits)")[![joshkosmala](https://avatars.githubusercontent.com/u/1444716?v=4)](https://github.com/joshkosmala "joshkosmala (4 commits)")

### Embed Badge

![Health badge](/badges/joshkosmala-silverstripe-hierarchicalcheckboxsetfield/health.svg)

```
[![Health](https://phpackages.com/badges/joshkosmala-silverstripe-hierarchicalcheckboxsetfield/health.svg)](https://phpackages.com/packages/joshkosmala-silverstripe-hierarchicalcheckboxsetfield)
```

PHPackages © 2026

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