PHPackages                             marekskopal/typo3-darts - 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. marekskopal/typo3-darts

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

marekskopal/typo3-darts
=======================

Darts league plugin for TYPO3 CMS

v1.0.0(1mo ago)06GPL-2.0-or-laterPHPPHP &gt;=8.3CI passing

Since May 30Pushed 1mo agoCompare

[ Source](https://github.com/marekskopal/typo3-darts)[ Packagist](https://packagist.org/packages/marekskopal/typo3-darts)[ Docs](https://marekskopal.com)[ RSS](/packages/marekskopal-typo3-darts/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (13)Versions (2)Used By (0)

Darts league for TYPO3 CMS
==========================

[](#darts-league-for-typo3-cms)

A darts league plugin for TYPO3 — manage groups, teams, players, and match scores in the backend and render a score table, team list, and match list in the frontend as content elements.

Features
--------

[](#features)

- **Groups** with current-season flag (actual groups are listed first)
- **Teams** with a many-to-many relation to groups, a place, an address, a playing day, and a per-team login code
- **Players** with name, phone, email, and a profile photo
- **Match scores** with round, date, two teams, legs, points, and an optional manual score override
- **Score table** — automatically computed per group with regulation wins (3 pts), overtime wins (2 pts), overtime losses (1 pt); ties are broken by points then by legs
- **Team list** — public team listing; player contact info is gated behind a per-team **login code** so only teammates who know it can see addresses and phone numbers
- **Match list** — all matches with date and result
- **Three content element plugins** — *Darts - Score*, *Darts - Team list*, *Darts - Match list*
- **Template layouts** — switchable per content element via FlexForm, configured through TSconfig or PHP globals
- Multilingual labels (EN, CS, DE out of the box)
- TYPO3 13 and 14 compatible

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

[](#requirements)

- PHP 8.3+
- TYPO3 13.4 or 14.3

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

[](#installation)

```
composer require marekskopal/typo3-darts
```

After installation, run the database analyser in the TYPO3 Install Tool to create the required tables.

Setup
-----

[](#setup)

Include the TypoScript Set **Darts** in your site package or via the site configuration sets, then set the storage PID:

```
plugin.tx_msdarts.persistence.storagePid = 42

```

Content Elements
----------------

[](#content-elements)

The extension registers three CType plugins. Drop them on the page that should display the data:

PluginActionWhat it shows**Darts - Score**`scoreAction`Sorted score table per group**Darts - Team list**`teamListAction`Teams per group + login-code modal for contact info**Darts - Match list**`matchListAction`All matches with resultsBackend Setup
-------------

[](#backend-setup)

Create records on the storage page:

1. **Groups** — give each group a title and check **Actual** for the current season
2. **Teams** — set the title, assign one or more groups, set the playing day, and (optionally) a **Login code** that lets team members reveal contact info on the public team list
3. **Players** — inline under each team, with optional photo
4. **Match scores** — round, date, two teams, legs, points. A final score of `9` for one side is treated as **overtime**

Template Layouts
----------------

[](#template-layouts)

Register custom template layouts in Page TSconfig:

```
tx_msdarts.templateLayouts {
    my_layout = My custom layout
}

```

Or in PHP (e.g. `ext_localconf.php`):

```
$GLOBALS['TYPO3_CONF_VARS']['EXT']['ms_darts']['templateLayouts'][] = ['My layout label', 'my_layout'];
```

Then configure the corresponding template paths in TypoScript:

```
plugin.tx_msdarts.settings.templateLayouts {
    my_layout {
        templateRootPath = EXT:your_extension/Resources/Private/Templates/MsDarts/MyLayout/
        partialRootPath  = EXT:your_extension/Resources/Private/Partials/MsDarts/MyLayout/
        layoutRootPath   = EXT:your_extension/Resources/Private/Layouts/MsDarts/MyLayout/
    }
}

```

Customization
-------------

[](#customization)

### Templates

[](#templates)

Override templates by setting custom paths in TypoScript:

```
plugin.tx_msdarts.view.templateRootPaths.10 = EXT:your_extension/Resources/Private/Templates/MsDarts/
plugin.tx_msdarts.view.partialRootPaths.10  = EXT:your_extension/Resources/Private/Partials/MsDarts/
plugin.tx_msdarts.view.layoutRootPaths.10   = EXT:your_extension/Resources/Private/Layouts/MsDarts/

```

### Styling

[](#styling)

The templates render Bootstrap-style classes (`.table`, `.modal`, etc.). Wrap your own CSS around them or override the templates to drop the framework.

Migration from `ms_asl`
-----------------------

[](#migration-from-ms_asl)

If you are upgrading from the predecessor extension `ms_asl`, run `Migrations/Migration_From_MsAsl.sql` once. It renames every `tx_msasl_*` table to its `tx_msdarts_*` counterpart, rewrites `tt_content.CType` for the three plugin signatures, and updates `sys_file_reference.tablenames` for player photos. After running it, execute the Install Tool database analyser to add the new columns (categories, language, etc.).

License
-------

[](#license)

GPL-2.0-or-later

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance89

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity48

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

Unknown

Total

1

Last Release

55d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/33967656?v=4)[Marek Skopal](/maintainers/marekskopal)[@marekskopal](https://github.com/marekskopal)

---

Top Contributors

[![marekskopal](https://avatars.githubusercontent.com/u/33967656?v=4)](https://github.com/marekskopal "marekskopal (8 commits)")

---

Tags

typo3typo3-extensionleaguetypo3darts

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/marekskopal-typo3-darts/health.svg)

```
[![Health](https://phpackages.com/badges/marekskopal-typo3-darts/health.svg)](https://phpackages.com/packages/marekskopal-typo3-darts)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k57](/packages/friendsoftypo3-content-blocks)[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[eliashaeussler/typo3-form-consent

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

1595.5k](/packages/eliashaeussler-typo3-form-consent)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22260.2k](/packages/eliashaeussler-typo3-warming)[yoast-seo-for-typo3/yoast_seo

Yoast SEO for TYPO3

511.7M9](/packages/yoast-seo-for-typo3-yoast-seo)

PHPackages © 2026

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