PHPackages                             devgeniem/tms-theme-muumib2b - 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. devgeniem/tms-theme-muumib2b

ActiveWordpress-theme

devgeniem/tms-theme-muumib2b
============================

Tampere Multisite MuumiB2B Theme

059↓49.2%[6 PRs](https://github.com/devgeniem/tms-theme-muumib2b/pulls)PHPCI passing

Since Apr 1Pushed 1w agoCompare

[ Source](https://github.com/devgeniem/tms-theme-muumib2b)[ Packagist](https://packagist.org/packages/devgeniem/tms-theme-muumib2b)[ RSS](/packages/devgeniem-tms-theme-muumib2b/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (8)Used By (0)

TMS MuumiB2B Theme
==================

[](#tms-muumib2b-theme)

This document focuses on:

- page templates
- ACF flexible content layouts (components)
- runtime functionality related to those layouts
- password-protected content behavior
- site-wide settings page

Overview
--------

[](#overview)

The theme is built with DustPress models + Dust templates + ACF flexible content.

Page templates and model classes
--------------------------------

[](#page-templates-and-model-classes)

The main content templates are implemented as model classes under `models/`:

- `models/page-front-page.php`

    - Template Name: `Etusivu`
    - Class: `PageFrontPage`
    - Uses front page specific layout set.
- `models/page.php`

    - Class: `Page`
    - Extends `PageExtend`.
    - Generic content page template behavior.
- `models/page-exhibition-one.php`

    - Template Name: `The door is always open -nayttely`
    - Class: `PageExhibitionOne`
- `models/page-exhibition-two.php`

    - Template Name: `Moomins Sea Adventure -nayttely`
    - Class: `PageExhibitionTwo`
- `models/page-exhibition-three.php`

    - Template Name: `Moomin Animations -nayttely`
    - Class: `PageExhibitionThree`

Layout registration and availability
------------------------------------

[](#layout-registration-and-availability)

Layouts are registered as ACF flexible content rows in group classes:

- `lib/ACF/FrontPageGroup.php`
- `lib/ACF/PageGroup.php`
- `lib/ACF/ExhibitionOneGroup.php`
- `lib/ACF/ExhibitionTwoGroup.php`
- `lib/ACF/ExhibitionThreeGroup.php`

Layout classes are in `lib/ACF/Layouts/` and rendered in `partials/layouts/`.

### Front-end JS behaviors used by layouts

[](#front-end-js-behaviors-used-by-layouts)

Global JS controllers are initialized by `assets/scripts/theme.js`. Layout-driven behavior includes, for example:

- accordion interactions (`assets/scripts/accordion.js`)
- image carousel modal/slider behavior (`assets/scripts/image-carousel.js`)
- map lazy load toggle (`assets/scripts/map-layout.js`)
- countdown behavior (`assets/scripts/countdown.js`)
- modularity embedding behavior (`assets/scripts/modularity-layout.js`)
- rolling text behavior (`assets/scripts/rolling-text.js`)
- Gravity Forms compatibility patch (`assets/scripts/gravity-forms-patch.js`)

Password-protected pages and custom login view
----------------------------------------------

[](#password-protected-pages-and-custom-login-view)

Password-protected content is explicitly handled in page templates.

Behavior:

- If `post_password_required()` is true (`models/page-extend.php`), normal layout rendering is skipped.
- Instead, a custom password hero view is rendered:
    - `partials/views/page/page-password-hero.dust`
    - contains custom visual hero + input form
    - uses `partials/ui/password_form.dust`
- Password form submits to:
    - `wp-login.php?action=postpass`
    - from `PageExtend::password_form_action()`

Customizable via site ACF-settings:

- `password_page_hero_img`
- `password_page_info_text`

Site-wide settings page
-----------------------

[](#site-wide-settings-page)

The theme has a custom site-wide settings page implemented as a custom post type.

### ACF settings UI

[](#acf-settings-ui)

Settings field group: `lib/ACF/SettingsGroup.php`

Main tabs include:

- Header settings
- Footer settings
- Map settings
- Social media settings
- 404 settings
- Archive settings
- Page settings
- Exception notice settings
- Sitemap settings
- Chat settings
- Password page settings

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance64

Regular maintenance activity

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity18

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11960000?v=4)[Hion Digital Oy](/maintainers/devgeniem)[@devgeniem](https://github.com/devgeniem)

---

Top Contributors

[![eebbi](https://avatars.githubusercontent.com/u/31741222?v=4)](https://github.com/eebbi "eebbi (27 commits)")

### Embed Badge

![Health badge](/badges/devgeniem-tms-theme-muumib2b/health.svg)

```
[![Health](https://phpackages.com/badges/devgeniem-tms-theme-muumib2b/health.svg)](https://phpackages.com/packages/devgeniem-tms-theme-muumib2b)
```

PHPackages © 2026

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