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

ActiveTypo3-cms-extension

maispace/base
=============

Base Extension for Maispace Projects

v13.0.0(1y ago)01[1 PRs](https://github.com/mai-space-de/typo3-extension-base/pulls)PHP

Since Apr 24Pushed 1mo agoCompare

[ Source](https://github.com/mai-space-de/typo3-extension-base)[ Packagist](https://packagist.org/packages/maispace/base)[ Docs](https://www.maispace.de)[ RSS](/packages/maispace-base/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (3)Used By (0)

Maispace Base Extension for TYPO3
=================================

[](#maispace-base-extension-for-typo3)

Base Extension for Maispace Projects providing developer utilities, TCA registration helpers, and backend enhancements for TYPO3 CMS.

Features
--------

[](#features)

### Backend Enhancements

[](#backend-enhancements)

#### Save and Close Button

[](#save-and-close-button)

Adds a **"Save and Close"** button to the TYPO3 backend editing forms. This button saves the current record and immediately closes the editing form, returning you to the previous view (e.g., the page module or list module).

The button appears alongside the standard "Save" button in the button bar of every record editing form.

#### Record Navigation Buttons

[](#record-navigation-buttons)

Adds **"Previous record"** and **"Next record"** navigation buttons to the editing form button bar. These buttons allow editors to quickly navigate between sibling records without returning to the list view first.

- **For content elements (`tt_content`)**: Navigate between content elements on the same page, ordered by their sorting position.
- **For pages**: Navigate between pages under the same parent page in the page tree, ordered by their sorting position.
- **For any other table**: Navigate between records with the same parent (pid), ordered by the table's configured sorting field.

The navigation buttons appear on the right side of the button bar and preserve the return URL, so closing any record in the sequence returns you to the original starting point.

### TCA Registration Helpers

[](#tca-registration-helpers)

Fluent builder classes that simplify TYPO3 TCA (Table Configuration Array) registration:

- **`Helper`** – Static utility methods for TCA operations such as `addCType()`, `addDoktype()`, `overridePalette()`, and `overrideColumns()`.
- **`CType`** – Builder for registering custom content types with chainable methods for default palettes, plugin tabs, accessibility, and more.
- **`Doktype`** – Builder for registering custom page types with SEO, social media, metadata, and behavior tabs.
- **`Field`** – Builder for custom TCA form fields with description, localization, display conditions, and custom config support.
- **`Table`** – Comprehensive table configuration builder with 40+ methods covering language, sorting, versioning, security, and more.
- **`Palette`** – Palette builder for TCA palette configurations.

### Utility Classes

[](#utility-classes)

- **`QueryDebugger`** – Converts Extbase queries to raw SQL for debugging. Usage: `QueryDebugger::debug($query)`.
- **`ActiveExtensionConfigurationLoader`** – Merges configuration files from all active extensions for cross-extension configuration sharing.

### Backend Configuration

[](#backend-configuration)

- Customizable **backend layouts** with a default "Standard" layout featuring 7 content columns: Pop Overs, Navigation, Before Content, Content, After Content, Footer, and Hidden.
- **TypoScript setup** with plugin configuration, PID management, and content rendering libraries.
- **User TSConfig** support for backend user configuration.

Requirements
------------

[](#requirements)

- TYPO3 CMS 12.4+

Installation
------------

[](#installation)

Install via Composer:

```
composer require maispace/base
```

Or install manually by placing the extension in `typo3conf/ext/base/`.

After installation, activate the extension in the TYPO3 Extension Manager or via:

```
vendor/bin/typo3 extension:activate base
```

Configuration
-------------

[](#configuration)

### Site Set

[](#site-set)

Include the "MaiSpace Base" site set in your site configuration to activate TypoScript setup, constants, and page TSconfig. The set depends on `typo3/fluid-styled-content`.

### Backend Enhancements

[](#backend-enhancements-1)

The Save and Close button and record navigation buttons are automatically active once the extension is installed. No additional configuration is required.

Usage Examples
--------------

[](#usage-examples)

### TCA Registration Helper

[](#tca-registration-helper)

```
use Maispace\Base\RegistrationHelper\Helper;

// Create a localization helper
$ll = Helper::localLangHelperFactory('LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:');

// Register a custom content type
Helper::addCType(
    'my_ext',
    'my_content_element',
    $ll('my_content_element.title'),
    $ll('my_content_element.description'),
    'content-text'
);
```

### Query Debugger

[](#query-debugger)

```
use Maispace\Base\Utility\QueryDebugger;

// Debug an Extbase query
QueryDebugger::debug($query);
```

License
-------

[](#license)

This extension is licensed under the GPL-2.0-or-later license.

Author
------

[](#author)

**Joel Maximilian Mai**

- Website: [maispace.de](https://www.maispace.de)
- Email:

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance71

Regular maintenance activity

Popularity1

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

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

Unknown

Total

1

Last Release

389d ago

### Community

Maintainers

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

---

Top Contributors

[![mai-space](https://avatars.githubusercontent.com/u/38419872?v=4)](https://github.com/mai-space "mai-space (7 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (3 commits)")

### Embed Badge

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

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

PHPackages © 2026

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