PHPackages                             tritum/form-element-linked-checkbox - 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. tritum/form-element-linked-checkbox

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

tritum/form-element-linked-checkbox
===================================

Adds a new form element which allows the editor to create a checkbox with a linked label text. This is an extension for TYPO3 CMS.

v6.0.0(2mo ago)28683.8k↓12.7%39[9 issues](https://github.com/tritum/form_element_linked_checkbox/issues)[2 PRs](https://github.com/tritum/form_element_linked_checkbox/pulls)GPL-2.0-or-laterPHPPHP ^8.2CI passing

Since Jun 6Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/tritum/form_element_linked_checkbox)[ Packagist](https://packagist.org/packages/tritum/form-element-linked-checkbox)[ Docs](https://github.com/tritum/form_element_linked_checkbox)[ RSS](/packages/tritum-form-element-linked-checkbox/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (9)Versions (17)Used By (0)

[![TYPO3 extension](https://camo.githubusercontent.com/e21a2eb992080b459aec4f0f59a62ed20026404f775fb0570156a22890c968c5/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f657874656e73696f6e2f736869656c64732e737667)](https://camo.githubusercontent.com/e21a2eb992080b459aec4f0f59a62ed20026404f775fb0570156a22890c968c5/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f657874656e73696f6e2f736869656c64732e737667)[![Total downloads](https://camo.githubusercontent.com/10072a7496f1e2731b39d8142780ea15527322eaf0925189625e8808cfe7ecc4/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f646f776e6c6f6164732f736869656c64732e737667)](https://camo.githubusercontent.com/10072a7496f1e2731b39d8142780ea15527322eaf0925189625e8808cfe7ecc4/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f646f776e6c6f6164732f736869656c64732e737667)[![Stability](https://camo.githubusercontent.com/8c16543d954893fd025285f7b8a40a2c506539f58c59073c0712acffcf251c0d/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f73746162696c6974792f736869656c64732e737667)](https://camo.githubusercontent.com/8c16543d954893fd025285f7b8a40a2c506539f58c59073c0712acffcf251c0d/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f73746162696c6974792f736869656c64732e737667)[![CGL](https://github.com/tritum/form_element_linked_checkbox/actions/workflows/cgl.yaml/badge.svg)](https://github.com/tritum/form_element_linked_checkbox/actions/workflows/cgl.yaml)[![TYPO3 versions](https://camo.githubusercontent.com/fe5a5b21c446011d37bb3279bac1a684a2abe788b81657e1a302a67d92001894/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f7479706f332f736869656c64732e737667)](https://camo.githubusercontent.com/fe5a5b21c446011d37bb3279bac1a684a2abe788b81657e1a302a67d92001894/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f7479706f332f736869656c64732e737667)[![Latest version](https://camo.githubusercontent.com/d9ef7522162f7584bf36b2b0a7c96383c77997c6c4604cf1da82b52eda91db93/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f76657273696f6e2f736869656c64732e737667)](https://camo.githubusercontent.com/d9ef7522162f7584bf36b2b0a7c96383c77997c6c4604cf1da82b52eda91db93/68747470733a2f2f7479706f332d6261646765732e6465762f62616467652f666f726d5f656c656d656e745f6c696e6b65645f636865636b626f782f76657273696f6e2f736869656c64732e737667)

Custom form element "Linked checkbox"
=====================================

[](#custom-form-element-linked-checkbox)

This TYPO3 extension adds a custom form element "Linked checkbox" to the TYPO3 form framework. The user is able to define the link target and the link text.

Known incompatibilities
=======================

[](#known-incompatibilities)

This extension is not fully compatible with [EXT:form-mailtext](https://github.com/kitzberger/form-mailtext). Both extensions override the same Fluid templates. Create a copy within your site package, adapt the template accordingly and configure TYPO3 properly to use this template.

Installation and configuration
==============================

[](#installation-and-configuration)

Preferred Installation
----------------------

[](#preferred-installation)

1. Require the extension via composer.
2. Add the site set `tritum/form-element-linked-checkbox` to the dependencies of your site packages site set (recommended). Or add the static TypoScript configuration to your TypoScript template.

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

[](#customization)

The extension overrides templates for the following views:

- email to receiver, plain text
- email to receiver, HTML
- email to sender, plain text
- email to sender, HTML
- summary page

This is necessary to render links correctly. By default, the core templates of the form framework escape any HTML in both email and plain text mails. Thus, your users would receive mails with broken links.

If you also override those templates, please adopt your files accordingly.

Usage
-----

[](#usage)

Open the TYPO3 form editor and create a new form/open an existing one. Add a new element to your form. The modal will list the new custom form element "Linked checkbox". Provide a label for the checkbox including the link text. Select a page you want to link to.

### Combination of label and link

[](#combination-of-label-and-link)

The default label consists of the label itself, followed by a link to the specified page with the given link text.

Example:

- Label: `I accept the `
- Link text: `terms and conditions.`
- Output: `I accept the terms and conditions.`

If want to use the link inside your label, define the link position in the label with a character substitution. We highly **recommend** this way.

Example:

- Label: `I have read the %s and accept them.`
- Link text: `terms and conditions`
- Output: `I have read the terms and conditions and accept them.`

You can also use more than one link in the checkbox label. For this, just use the field `additionalLinks` and provide a combination of Page UID and link text.

Example:

- Label: `I have read the %s and %s and accept them.`
- Link text: `terms and conditions`
- Additional links:
    - `privacy policy`
- Output: `I have read the terms and conditions and privacy policy and accept them.`

#### Link configuration

[](#link-configuration)

You can provide additional link configuration which will be used when generating the link within the label. Note that this can only be defined in the appropriate `.form.yaml` file but not in the form editor and applies to all generated links.

```
type: LinkedCheckbox
identifier: consent
label: 'I accept the %s and %s.'
properties:
  pageUid: '67'
  linkText: 'terms and conditions'
  additionalLinks:
    83: 'privacy policy'

renderingOptions:
  linkConfiguration:
    # Additional typolink configuration can be inserted here, e.g.:
    no_cache: 1
```

For a full list of available configuration take a look at the [TypoScript reference](https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Functions/Typolink.html).

#### Override default link target

[](#override-default-link-target)

By default, the link target is set to `_blank`. If you want to override it, just define a custom link configuration `parameter` – either an empty string or a custom target/additional parameter configuration:

```
renderingOptions:
  linkConfiguration:
    parameter: ''
```

Possible improvements or changes
--------------------------------

[](#possible-improvements-or-changes)

Instead of creating a new form element, the existing `Checkbox` form element could have been extended. In order to provide a more complex example, the extension creates a new element.

At the time of writing this, you have to provide a small JavaScript snippet (see `\Resources\Public\JavaScript\Backend\FormEditor\ViewModel.js`). This snippet is needed to show the custom form element in the form editor. For future TYPO3 versions we are aiming to remove this stumbling block to smoothen the element registration.

Versions
--------

[](#versions)

NewsTYPO3PHPNotes6.x13 - 148.2 - 8.5Breaking changes. See comments below.5.x12 - 138.1 - 8.3Breaking changes. See comments below.4.x11 - 127.4 - 8.2Breaking changes. See comments below.3.x9 - 117.2 - 8.1Breaking changes. See comments below.2.x9 - 111.x8 - 9### Breaking changes version 6.x

[](#breaking-changes-version-6x)

Version 6.x includes the following breaking changes:

- \[!!!\]\[TASK\] Allow TYPO3 v14, drop TYPO3 v12 support [(3448bc5)](https://github.com/dreistromland-tj/form_element_linked_checkbox/commit/3448bc5184f0b0246644a232e128ba21f33e736e)

### Breaking changes version 5.x

[](#breaking-changes-version-5x)

Version 5.x includes the following breaking changes:

- \[!!!\]\[TASK\] Allow TYPO3 v13, drop TYPO3 v11 support [(60c647d)](https://github.com/olforestman/form_element_linked_checkbox/commit/60c647d8137f95891f96dbcb3ff2b70edfe24aa2)

### Breaking changes version 4.x

[](#breaking-changes-version-4x)

Version 4.x includes the following breaking changes:

- \[!!!\]\[TASK\] Use timestamps as keys [(1feab28)](https://github.com/tritum/form_element_linked_checkbox/commit/1feab281c91c77b7748b4292d1b405ea118be3d2)
- \[!!!\]\[BUGFIX\] Switch EXT:form hook to respect applied variants [(543830b)](https://github.com/tritum/form_element_linked_checkbox/commit/543830b3176220b39ea6c5128520b015c65176b9)

### Breaking changes version 3.x

[](#breaking-changes-version-3x)

Version 3.x includes the following breaking changes:

- \[!!!\]\[FEATURE\] Move link resolving from field partial to hook [(d128090)](https://github.com/tritum/form_element_linked_checkbox/commit/d12809029fd1415e765db323f840c04fdd10e1f2)
- \[!!!\]\[TASK\] Drop deprecated hook usage [(90695cf)](https://github.com/tritum/form_element_linked_checkbox/commit/90695cfcdec97a317cea5e3d20fda387700a37cc)
- \[!!!\]\[TASK\] Harden visibility and usage of FormElementLinkResolverHook [(4ffb57b)](https://github.com/tritum/form_element_linked_checkbox/commit/4ffb57bc81bf45b7aa28d582aea3e3d7a608dd08)

Credits
-------

[](#credits)

This TYPO3 extension was created by [Björn Jacob](https://dreistrom.land) and has been highly improved by [Elias Häußler](https://haeussler.dev/). The idea was born at the TYPO3 CertiFUNcation Day 2017. The audience of my talk kindly asked for such an element. Lightheaded, I said it will not take more than 30 minutes to create such an extension. Unfortunately, I could not make it in this time. It took my 1.5 hours to come up with the initial version code. The JS part gave me a hard time.

Thank you
---------

[](#thank-you)

Jochen Weiland - TYPOholic at [jweiland.net](https://jweiland.net) - supported this challenge in multiple ways. Thanks for being an outstanding part of our TYPO3 community.

Elias Häußler - Best man, providing awesome PRs and providing the beautiful [TYPO3 badges](https://typo3-badges.dev). Use them. Give him some kudos!

###  Health Score

63

—

FairBetter than 99% of packages

Maintenance78

Regular maintenance activity

Popularity51

Moderate usage in the ecosystem

Community22

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~188 days

Recently: every ~245 days

Total

16

Last Release

83d ago

Major Versions

1.1.0 → 2.0.02020-02-02

2.3.0 → 3.0.02022-04-12

3.0.0 → 4.0.02023-06-19

4.0.0 → v5.0.02024-11-21

5.0.2 → v6.0.02026-02-24

PHP version history (4 changes)3.0.0PHP ^7.2 || ^8.0

4.0.0PHP ^7.4 || ^8.0

v5.0.0PHP ^8.1

v6.0.0PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1932663?v=4)[TRITUM](/maintainers/tritum)[@tritum](https://github.com/tritum)

---

Top Contributors

[![eliashaeussler](https://avatars.githubusercontent.com/u/16313625?v=4)](https://github.com/eliashaeussler "eliashaeussler (40 commits)")[![tritum](https://avatars.githubusercontent.com/u/1932663?v=4)](https://github.com/tritum "tritum (21 commits)")[![dreistromland-tj](https://avatars.githubusercontent.com/u/186044798?v=4)](https://github.com/dreistromland-tj "dreistromland-tj (12 commits)")[![linawolf](https://avatars.githubusercontent.com/u/48202465?v=4)](https://github.com/linawolf "linawolf (2 commits)")[![koehnlein](https://avatars.githubusercontent.com/u/16088567?v=4)](https://github.com/koehnlein "koehnlein (1 commits)")[![mbrodala](https://avatars.githubusercontent.com/u/5037116?v=4)](https://github.com/mbrodala "mbrodala (1 commits)")[![mkoitka](https://avatars.githubusercontent.com/u/825214?v=4)](https://github.com/mkoitka "mkoitka (1 commits)")[![olforestman](https://avatars.githubusercontent.com/u/1231852?v=4)](https://github.com/olforestman "olforestman (1 commits)")[![svenpet90](https://avatars.githubusercontent.com/u/97380444?v=4)](https://github.com/svenpet90 "svenpet90 (1 commits)")[![infabo](https://avatars.githubusercontent.com/u/3999104?v=4)](https://github.com/infabo "infabo (1 commits)")[![idurbainsky](https://avatars.githubusercontent.com/u/5627253?v=4)](https://github.com/idurbainsky "idurbainsky (1 commits)")

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/tritum-form-element-linked-checkbox/health.svg)

```
[![Health](https://phpackages.com/badges/tritum-form-element-linked-checkbox/health.svg)](https://phpackages.com/packages/tritum-form-element-linked-checkbox)
```

###  Alternatives

[fluidtypo3/flux

The flux package from FluidTYPO3

152982.2k20](/packages/fluidtypo3-flux)[friendsoftypo3/content-blocks

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

96374.6k23](/packages/friendsoftypo3-content-blocks)[eliashaeussler/typo3-form-consent

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

1481.0k](/packages/eliashaeussler-typo3-form-consent)[brotkrueml/schema

Embedding schema.org vocabulary - API and view helpers for schema.org markup

33584.6k13](/packages/brotkrueml-schema)[t3g/blog

This blog extension uses TYPO3s core concepts and elements to provide a full-blown blog that users of TYPO3 can instantly understand and use.

48581.2k7](/packages/t3g-blog)[typo3-themes/themes

TYPO3 THEMES

3642.6k2](/packages/typo3-themes-themes)

PHPackages © 2026

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