PHPackages                             cgoit/contao-persons-bundle - 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. cgoit/contao-persons-bundle

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

cgoit/contao-persons-bundle
===========================

Display data for commonly used persons in contao

3.2.0(1mo ago)21.7k1[1 PRs](https://github.com/cgoIT/contao-persons-bundle/pulls)LGPL-3.0-or-laterPHPPHP ^8.2CI passing

Since Oct 2Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/cgoIT/contao-persons-bundle)[ Packagist](https://packagist.org/packages/cgoit/contao-persons-bundle)[ Docs](https://cgo-it.de)[ GitHub Sponsors](https://github.com/cgoIT)[ Fund](https://ko-fi.com/cgoit)[ RSS](/packages/cgoit-contao-persons-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (26)Versions (33)Used By (0)

Contao Persons Bundle
=====================

[](#contao-persons-bundle)

[![](https://camo.githubusercontent.com/cb2b81dff073bb97b7530ec7c663a511ec60ee47a3f6a1fbc56b19ea9ccbdf6c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f63676f69742f636f6e74616f2d706572736f6e732d62756e646c652e737667)](https://packagist.org/packages/cgoit/contao-persons-bundle)[![Dynamic JSON Badge](https://camo.githubusercontent.com/589d9efc017a370a111442b461208ab579ff086a9b0f4b0aac48023b7a17ffc6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64796e616d69632f6a736f6e3f75726c3d68747470732533412532462532467261772e67697468756275736572636f6e74656e742e636f6d25324663676f4954253246636f6e74616f2d706572736f6e732d62756e646c652532466d61696e253246636f6d706f7365722e6a736f6e2671756572793d2532342e72657175697265253542253232636f6e74616f253246636f72652d62756e646c65253232253544266c6162656c3d436f6e74616f25323056657273696f6e)](https://camo.githubusercontent.com/589d9efc017a370a111442b461208ab579ff086a9b0f4b0aac48023b7a17ffc6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f64796e616d69632f6a736f6e3f75726c3d68747470732533412532462532467261772e67697468756275736572636f6e74656e742e636f6d25324663676f4954253246636f6e74616f2d706572736f6e732d62756e646c652532466d61696e253246636f6d706f7365722e6a736f6e2671756572793d2532342e72657175697265253542253232636f6e74616f253246636f72652d62756e646c65253232253544266c6162656c3d436f6e74616f25323056657273696f6e)[![](https://camo.githubusercontent.com/4b03c76259a84efdc90dc2f3e7eec018354ba37058fc8270d5a9298cb53f5038/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f63676f69742f636f6e74616f2d706572736f6e732d62756e646c652e737667)](https://packagist.org/packages/cgoit/contao-persons-bundle)[![CI](https://github.com/cgoIT/contao-persons-bundle/actions/workflows/ci.yml/badge.svg)](https://github.com/cgoIT/contao-persons-bundle/actions/workflows/ci.yml)

It often happens that information about people is displayed in many places on a web page. The particular challenge is to keep the individual places in the frontend consistent at all times.

With the help of this module, such people can be managed centrally in the backend of Contao in a clear list. The data from this list can then be easily used and displayed in different places in the frontend.

Install
-------

[](#install)

```
composer require cgoit/contao-persons-bundle
```

BREAKING CHANGES
----------------

[](#breaking-changes)

Starting with version 3.0.0 this extension uses TWIG templates instead of the deprecated html5 templates. You can still customize your templates. In the following table you can find an overview how the old templates map to the new ones.

old HTML5 templatenew TWIG templateContent Element to display a list of personsce\_person.htmlcontent\_element/persons.html.twigFrontend module to display a list of personsmod\_person.html5frontend\_module/persons.html.twigTemplate for one personperson.html5component/person.html.twigConfiguration
-------------

[](#configuration)

Since version 2.1.0 you can configure the contact information types via the standard mechanism. To do so just add your configuration to the `config/config.yml` file.

The bundle ships with the following default configuration:

```
cgoit_persons:
    contact_types:
        email:
            schema_org_type: email
        phone:
            schema_org_type: telephone
        mobile:
            schema_org_type: telephone
        website:
            schema_org_type: url
```

If you want to add a new contact information type (e.g. `fax`) you'll have to configure the following:

```
cgoit_persons:
    contact_types:
        email:
            schema_org_type: email
        phone:
            schema_org_type: telephone
        mobile:
            schema_org_type: telephone
        website:
            schema_org_type: url
        fax:
            schema_org_type: faxNumber
            label:
               de: Fax
               en: Facsimile
```

By adding the `label` key to any existing `contact_type` you can overwrite the default translation (coming from `$GLOBALS['TL_LANG']['tl_person']['contactInformation_type_options']['']`).

Template Data
-------------

[](#template-data)

Since version 2.1.0 the contact information data is available in the template in two different ways:

1. In the template you'll have access to an array `contactInfos`. This array has entries for each contact information. Each entry is itself an array with three keys: `type`, `label` and `value`.
2. Each contact information is available in the template. Each person has properties like `` (e.g. `email`) and `_label` (e.g. `email_label`).

schema.org Data
---------------

[](#schemaorg-data)

Since version 2.1.0 you can add schema.org data to your templates like this:

```
extend('block_searchable'); ?>

block('content'); ?>

    persons as $person): ?>
        insert($person->personTpl, $person->arrData); ?>

        addSchemaOrg($this->getSchemaOrgData($person)); ?>

endblock(); ?>
```

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance92

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 68.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 ~31 days

Recently: every ~67 days

Total

30

Last Release

44d ago

Major Versions

1.4.0 → 2.0.02024-03-22

2.3.0 → 3.0.02025-06-10

PHP version history (4 changes)1.0.0PHP ^8.1 || ^8.2

1.4.0PHP ^8.1 || ^8.2 || ^8.3

2.3.0PHP ^8.1

3.2.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/0d593eb65a20bf8aa0034a97016bdde26047857dd221ce07d8fd3f084c103b46?d=identicon)[cgo-it](/maintainers/cgo-it)

---

Top Contributors

[![cgoIT](https://avatars.githubusercontent.com/u/8972203?v=4)](https://github.com/cgoIT "cgoIT (99 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (30 commits)")[![transifex-integration[bot]](https://avatars.githubusercontent.com/in/18568?v=4)](https://github.com/transifex-integration[bot] "transifex-integration[bot] (10 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![janborg](https://avatars.githubusercontent.com/u/10844680?v=4)](https://github.com/janborg "janborg (1 commits)")

### Embed Badge

![Health badge](/badges/cgoit-contao-persons-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/cgoit-contao-persons-bundle/health.svg)](https://phpackages.com/packages/cgoit-contao-persons-bundle)
```

###  Alternatives

[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3183.3k6](/packages/codefog-contao-news-categories)[terminal42/contao-node

Node bundle for Contao Open Source CMS

3172.5k4](/packages/terminal42-contao-node)[netgen/layouts-core

Netgen Layouts enables you to build and manage complex web pages in a simpler way and with less coding. This is the core of Netgen Layouts, its heart and soul.

3689.4k10](/packages/netgen-layouts-core)[contao-community-alliance/dc-general

Universal data container for Contao

1578.3k86](/packages/contao-community-alliance-dc-general)[netgen/content-browser

Netgen Content Browser is a Symfony bundle that provides an interface which selects items from any kind of backend and returns the IDs of selected items back to the calling code.

14112.1k8](/packages/netgen-content-browser)

PHPackages © 2026

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