PHPackages                             supseven/theme-base - 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. supseven/theme-base

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

supseven/theme-base
===================

Sitepackage Library of supseven. A swiss army knife for TYPO3 projects

14.1.4(2mo ago)33.6k↓39.3%[6 issues](https://github.com/supseven-at/theme-base/issues)1GPL-2.0-or-laterPHPPHP ^8.5CI passing

Since Jun 19Pushed 2mo ago4 watchersCompare

[ Source](https://github.com/supseven-at/theme-base)[ Packagist](https://packagist.org/packages/supseven/theme-base)[ RSS](/packages/supseven-theme-base/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (20)Versions (30)Used By (1)

supseven/theme-base
===================

[](#supseventheme-base)

**DOCUMENTATION AND README WORK IN PROGRESS**

---

How to use this package
=======================

[](#how-to-use-this-package)

- require `supseven/theme-base` in your local sitepackage extension `supseven/theme_project`
    - some of the configuration is loaded automatically
    - most of the configuration needs to be used/imported in your project's sitepackage
    - The package `supseven/theme-base` can be called "Sitepackage library"
- the local package `theme_project` (`supseven/theme-project`) is used like the theme ext before.
    - All Frontend related stuff is located in `supseven/theme-project`
    - The name keeps the same for all of our projects
- The final sitepackage extension is named after the TYPO3 site: e.g. `theme_site_sitename`
    - it requires the local package `supseven/theme_project`
    - this package is set as sitepackage within the TYPO3 site configuration for `b13/bolt`.

By using this construct every TYPO3 project can easily grow with multiple sites.

---

Needed site settings
====================

[](#needed-site-settings)

*settings.yaml:*

```
themeBase:

    typo3:
        linkvalidator:
            fromemail: '%env(MAIL_SENDEREMAIL_DEFAULT)%'
            externalhttpAgentEmail: '%env(MAIL_SENDEREMAIL_DEFAULT)%'
            externalhttpAgentName: '%env(TYPO3_LINKVALIDATOR_EXTERNAL_AGENT_NAME)%'

        tcemain:
            permissions:
                groupid: 1

    page:
        fluidtemplate:
        rootPaths:
            # Used for rootPaths index 20
            sitepackage: theme_project
            # Used for rootPaths index 30. Must not be used if not necessary
            sitepackageSiteOverride: theme_site_sitename
```

---

Changes added while creating the extraction of ext:theme in TYPO3 12
====================================================================

[](#changes-added-while-creating-the-extraction-of-exttheme-in-typo3-12)

Change: conditions for applicationContext
-----------------------------------------

[](#change-conditions-for-applicationcontext)

Conditions checking the applicationContext must check on "beginning with" as there are szenarios in future, where multiple environments (hor. scaling) is used. Checking for an exact applicationContext is then not the best way anymore. Using `[applicationContext matches "#^Production/Live#"]` is recommended from now on.

---

Breaking Change: Variable RootUid removed
-----------------------------------------

[](#breaking-change-variable-rootuid-removed)

The FLUIDTEMPLATE variable `RootUid` was removed. The successor is [TYPO3 SiteProcessor](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/9.5.x/Feature-87748-AddSiteProcessor.html?highlight=siteprocessor)and can be used with `{site.rootPageId}`

---

Breaking Change: FLUIDTEMPLATE option extbase.controllerExtensionName removed
-----------------------------------------------------------------------------

[](#breaking-change-fluidtemplate-option-extbasecontrollerextensionname-removed)

We used this option for years to have this magic config where the following Fluid ViewHelpers does not need an extension name to work within fluid page:

- `f:translate`
- `f:uri.resource`

This option is removed as the TYPO3 core team has planned to remove it in the upcoming major TYPO3 version 13/14.

Beside that, it's better using following approaches (how some may have already done it.):

- A) `{f:translate(key: 'LLL:EXT:my_extension/Resources/Private/Language/yourFile.xlf:yourKey')}`
- or B) if the extension uses the TYPO3 specific locallang conventions: `{f:translate(key:'yourKey', extensionName='MyOtherExtension')}`

---

Change: Common restrictions were moved to a dedicated package
-------------------------------------------------------------

[](#change-common-restrictions-were-moved-to-a-dedicated-package)

Configs like "eval trim" and "eval required" for `tt_content.header` are now encapsulated within `josefglatz/bureaucratic`. [Take a look](https://github.com/josefglatz/bureaucratic)

---

Change: typo3/cms-adminpanel User TsConfig configuration is loaded automatically
--------------------------------------------------------------------------------

[](#change-typo3cms-adminpanel-user-tsconfig-configuration-is-loaded-automatically)

The User TsConfig part is automatically loaded and therefore activate. If there are needs to disable or reconfigure the adminpanel User TsConfig just overwrite the configuration in `supseven/theme_project`.

> The TypoScript Setup `config.admPanel = 1` is loaded when the TypoScript setup is included within your sitepackage base extension `supsven/theme-project`!

---

Change: Our defacto common Page TsConfig is loaded automatically
----------------------------------------------------------------

[](#change-our-defacto-common-page-tsconfig-is-loaded-automatically)

The TYPO3 Linkvalidator loads the Page TsConfig globally, since TYPO3 12. Reason enough to make the same step for our beloved "theme":

- `typo3/cms-linkvalidator` configuration is added automatically. New site settings where added for configuring them per TYPO3 site.
- TCEFORM: Some common `TCEFORM.pages` configuration is activated automatically.
- TCEMAIN: Common ClearCache and CopyBehaviours are loaded automatically. Also the default permissions are set and can be configured TYPO3 site specific.
    - See `EXT:theme_base/Configuration/SiteConfiguration/Settings/DefaultSettings.yaml`for default settings which can be added to TYPO3 site configuration via yaml imports.

---

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance67

Regular maintenance activity

Popularity25

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 72.8% 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 ~24 days

Recently: every ~2 days

Total

27

Last Release

67d ago

Major Versions

12.0.11 → 13.0.02025-10-15

13.0.5 → 14.0.02026-02-02

v13.x-dev → 14.1.32026-03-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/3b9b873a3ab532be8b148c0da96ce9c37931a2268d52af7a00e0d0251f855088?d=identicon)[josefglatz](/maintainers/josefglatz)

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

---

Top Contributors

[![garfieldius](https://avatars.githubusercontent.com/u/705480?v=4)](https://github.com/garfieldius "garfieldius (59 commits)")[![helmutstrasser](https://avatars.githubusercontent.com/u/888354?v=4)](https://github.com/helmutstrasser "helmutstrasser (21 commits)")[![josefglatz](https://avatars.githubusercontent.com/u/2861556?v=4)](https://github.com/josefglatz "josefglatz (1 commits)")

---

Tags

typo3-extensiontypo3-sitepackage-extensiontypo3-sitepackage-library

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/supseven-theme-base/health.svg)

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

###  Alternatives

[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1481.0k](/packages/eliashaeussler-typo3-form-consent)[b13/assetcollector

Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10118.4k](/packages/b13-assetcollector)[mfd/ai-filemetadata

Automatically generates FAL metadata for files by means of public LLMs

1142.1k](/packages/mfd-ai-filemetadata)[mautic/mautic-typo3

Add-on TYPO3 extension that enhances the "EXT:marketing\_automation" TYPO3 extension by connecting it to the Mautic Marketing Automation platform: Determine "Persona" from Mautic segments. Also provides additional services e.g. language synchronisation between Mautic and TYPO3.

236.3k](/packages/mautic-mautic-typo3)

PHPackages © 2026

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