PHPackages                             oveleon/contao-member-extension-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. oveleon/contao-member-extension-bundle

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

oveleon/contao-member-extension-bundle
======================================

Member feature extension for Contao.

1.6.4(9mo ago)32.0k3MITPHPPHP ^8.1

Since Mar 8Pushed 9mo ago3 watchersCompare

[ Source](https://github.com/oveleon/contao-member-extension-bundle)[ Packagist](https://packagist.org/packages/oveleon/contao-member-extension-bundle)[ Docs](https://oveleon.de/)[ GitHub Sponsors](https://github.com/oveleon)[ RSS](/packages/oveleon-contao-member-extension-bundle/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (2)Versions (22)Used By (0)

[![Contao Member Extension Bundle](/assets/markdown/logo.svg)](/assets/markdown/logo.svg)

Contao Member Extension Bundle
==============================

[](#contao-member-extension-bundle)

*Adds a listing of members with detail pages and extends them with an avatar that can be uploaded and deleted*

 [![](https://camo.githubusercontent.com/8cafa9f5cd2aa7df1f446858148b3afc1da07bcbc3bf569dab1b0a3701823118/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6f76656c656f6e2f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c653f636f6c6f723d656639383338)](https://github.com/oveleon/contao-member-extension-bundle) [![Oveleon](https://camo.githubusercontent.com/73ac9824b7cef8fbb58cdbc3087430da4b7754e6043b6028df26b2c5bab48496/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6f76656c656f6e2d6d61696e7461696e65642d6566393833383f6c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e535568455567414141424d4141414155434159414141427656515a3041414141475852465748525462325a30643246795a5142425a4739695a53424a6257466e5a564a6c5957523563636c6c50414141412f7870564668305745314d4f6d4e76625335685a4739695a53353462584141414141414144772f654842685932746c644342695a576470626a30693737752f496942705a443069567a564e4d4531775132566f61556836636d5654656b355559337072597a6c6b496a382b494478344f6e68746347316c6447456765473173626e4d366544306959575276596d5536626e4d366257563059533869494867366547317764477339496b466b62324a6c4946684e5543424462334a6c494455754e69316a4d545131494463354c6a45324d7a51354f5377674d6a41784f4338774f4338784d7930784e6a6f304d446f794d6941674943416749434167496a346750484a6b5a6a70535245596765473173626e4d36636d526d50534a6f644852774f693876643364334c6e637a4c6d39795a7938784f546b354c7a41794c7a49794c584a6b5a69317a6557353059586774626e4d6a496a346750484a6b5a6a70455a584e6a636d6c7764476c76626942795a47593659574a76645851394969496765473173626e4d366547317754553039496d6830644841364c793975637935685a4739695a53356a62323076654746774c7a45754d43397462533869494868746247357a4f6e4e30556d566d50534a6f644852774f693876626e4d7559575276596d5575593239744c336868634338784c6a41766331523563475576556d567a62335679593256535a57596a4969423462577875637a703462584139496d6830644841364c793975637935685a4739695a53356a62323076654746774c7a45754d433869494868746247357a4f6d526a50534a6f644852774f6938766348567962433576636d63765a474d765a57786c6257567564484d764d5334784c794967654731775455303654334a705a326c755957784562324e316257567564456c4550534a3164576c6b4f6a56454d6a41344f5449304f544e43526b52434d5445354d5452424f4455354d45517a4d5455774f454d34496942346258424e5454704562324e316257567564456c4550534a34625841755a476c6b4f6a4d354d6a5a424e6a517a4d7a5a46516a4578525546424d546442516b4e46515441784e6a673252444934496942346258424e5454704a626e4e305957356a5a556c4550534a346258417561576c6b4f6a4d354d6a5a424e6a51794d7a5a46516a4578525546424d546442516b4e46515441784e6a673252444934496942346258413651334a6c59585276636c527662327739496b466b62324a6c49456c736248567a64484a686447397949454e544e69416f56326c755a47393363796b695069413865473177545530365247567961585a6c5a455a7962323067633352535a5759366157357a644746755932564a52443069645856705a44706c4d44686b5a44686d5a43316d4f5441344c545135597a497459574d775a4330304f474533595449344f4463325957456949484e30556d566d4f6d5276593356745a57353053555139496e68746343356b615751364f544132524468474f454e4552555178525467784d5467794d6a56424d7a424751304e424e6a4534525551694c7a34675047526a4f6e52706447786c50694138636d526d4f6b46736444346750484a6b5a6a70736153423462577736624746755a7a30696543316b5a575a6864577830496a354d62326476583239325a57786c62323566576d56705932686c626c3979656a7776636d526d4f6d7870506941384c334a6b5a6a70426248512b494477765a474d3664476c306247552b49447776636d526d4f6b526c63324e796158423061573975506941384c334a6b5a6a70535245592b4944777665447034625842745a585268506941385033687759574e725a5851675a57356b50534a79496a382b50386942545141414162464a52454655654e71553038737252464563422f42726f6d4747614a52484b5349615966496d374a52537376484979754d2f774d6f724e654566554d714b6e624b77553254427770535553575957466d5342444b576d57636777635832507672633548586675584c2f367a443250337a32507565646f75713572696c4734304a50784175556d655838347447546b7779587367684f5759516d4b6f46617a45787a5644584649674565617a6350563954436e7a47706c5269484d6c374b674357596768793976514161734d45666b54715161724a394a46577730596c684a4676327255763874644b694468546962306569485179684f73523278796a6c70304246354d42454c647236576f68452b2b58367261424f7a36507757436669434f4c7a444e38735247494359796664726742413851326b6d666e7a514a697267686c772b585a414e55513571466d4859353252392f396c5743586a4270625250636175624468744873526f4f754e317265414f2f31482f50707a666461717267677a4f4c4b37594644367a504d71654c396174306777575a754b61306933686b755a6631453674746571455a6e6d4352625a56777850494f6e335638336c6974616f677a6272507568444f497762795564387138536176424f706c30726e78524f61644675676b46566f4f4a417831683472524a7677396532623975334143725939454e415a61442f4c2f45306169484d626266516333763762467857416368717074484141714e334851724d304a637358466f687a7a65785750596b354e2b424267416978355679767a525a627741414141415355564f524b35435949493d)](https://www.oveleon.de) [![](https://camo.githubusercontent.com/45b492248255940001a9aa0bf44e4aea6d925dcc72f538a30e84c25e6ccf21be/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f76656c656f6e2f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c653f636f6c6f723d353961313932)](https://packagist.org/packages/oveleon/contao-member-extension-bundle) [![](https://camo.githubusercontent.com/31ceda0a5094a83c09c98164986a776f3537f21a72fe369f3c6bfc1d47487810/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6f76656c656f6e2f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f7068703f636f6c6f723d353961313932)](https://packagist.org/packages/oveleon/contao-member-extension-bundle)[![](https://camo.githubusercontent.com/8d77c782b143958e94a77a4312dad7dc913d454c2830f8411c7253f4bcfd4efa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73706f6e736f72732f6f76656c656f6e3f6c6162656c3d53706f6e736f72266c6f676f3d47697448756226636f6c6f723d253233666538653836)](https://github.com/sponsors/oveleon)

---

> Working with **Contao 4.13** and **Contao ^5.3** (PHP ^8.1)

---

The Member extension bunde adds the possibility to display members and their details in lists using frontend modules. The member options are extended with an avatar that can be changed and uploaded in the member edit module and registration module. Additionally, you can display members with their details in a reader page.

- [Features](#features)
- [Installation](#installation)
    - [Composer](#via-composer)
    - [Contao Manager](#via-contao-manager)
- [Initial Setup](#initial-setup)
- [Insert tags](#insert-tags)
    - [Avatar insert tags](#avatar-insert-tags)
- [Front end modules](#front-end-modules)
    - [Memberlist](#memberlist)
    - [Memberreader](#memberreader)
    - [Avatar / Profile picture](#avatar--profile-picture)
    - [Delete avatar](#delete-avatar)
- [Advanced](#advanced)
    - [Filter](#filter)
    - [Hooks](#hooks)
- [Support](#support)
- [Sponsoring](#sponsoring)

Features
--------

[](#features)

- Compatible with Contao 4.13 (PHP ^8.0)
- Extends members with avatars
- Paginated member lists
- Member detail pages
- Insert tags for member avatars
- Sortable data-tables (funded by @netzarbeiter)
    - requires jQuery to work ()

---

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

[](#installation)

#### Via composer

[](#via-composer)

```
composer require oveleon/contao-member-extension-bundle

```

#### Via contao-manager

[](#via-contao-manager)

```
Search for contao member extension bundle and add it to your extensions.

```

After installing the contao-member-extension-bundle, you need to run a **contao install**.

---

Initial setup
-------------

[](#initial-setup)

This bundle extends contao with the possibiity to extend members with an avatar and displaying members in a list with detail pages.

1. Go into members and set up a default avatar in the newly added settings

    [![Admin View: Member overview](https://camo.githubusercontent.com/dee14b9b5cabccaad9850dc6c8dd1e4844525523ec82a9ae266667c0cb7a6bb9/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f64656661756c745f6176617461722e6a7067)](https://camo.githubusercontent.com/dee14b9b5cabccaad9850dc6c8dd1e4844525523ec82a9ae266667c0cb7a6bb9/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f64656661756c745f6176617461722e6a7067)[![Admin View: Member settings](https://camo.githubusercontent.com/6e2ad945a445a04e8918b989e364dcbb132f7e034362a8e4f913a96d41f203f7/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f64656661756c745f6176617461725f73657475702e6a7067)](https://camo.githubusercontent.com/6e2ad945a445a04e8918b989e364dcbb132f7e034362a8e4f913a96d41f203f7/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f64656661756c745f6176617461725f73657475702e6a7067)
2. To display your members, you need to set up a memberlist

    1. Create the front end module *memberlist*
    2. Choose the member groups and the member fields that should be displayed
    3. Optionally you can set up a redirect page to your memberreader
    4. Embed the module in a page

    [![Admin View: Memberlist](https://camo.githubusercontent.com/55cba14e02a81b30e1ec45bfd86019898ddd7d74cf4ea344b283b51309a3c7c1/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f6d6f64756c655f6d656d6265726c6973742e6a7067)](https://camo.githubusercontent.com/55cba14e02a81b30e1ec45bfd86019898ddd7d74cf4ea344b283b51309a3c7c1/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f6d6f64756c655f6d656d6265726c6973742e6a7067)
3. Displaying the avatar

    1. Create the front end module *Avatar / profile picture*
    2. Optionally you can set an image size
    3. Embed the module in a page

    [![Admin View: MemberAvatar](https://camo.githubusercontent.com/987ca35e72fd2df2ecd3958fc19d076c46d10830caffb3ccd1fdc951e8891390/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f6d6f64756c655f6d656d6265726176617461722e6a7067)](https://camo.githubusercontent.com/987ca35e72fd2df2ecd3958fc19d076c46d10830caffb3ccd1fdc951e8891390/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f6d6f64756c655f6d656d6265726176617461722e6a7067)
4. Module to delete an avatar

    1. Create the front end module *Delete Avatar*
    2. Embed the module in a page
    3. The module only appears if a frontend user is logged in
    4. You can check the "profile picture option" within registration to enable members to upload a profile picture within registration

    [![Admin View: MemberDeleteAvatar](https://camo.githubusercontent.com/f25171c2b29ff84462ca62ea35add64331048cd7cd598572d6e532377301e37a/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f6d6f64756c655f6d656d62657264656c6574656176617461722e6a7067)](https://camo.githubusercontent.com/f25171c2b29ff84462ca62ea35add64331048cd7cd598572d6e532377301e37a/68747470733a2f2f7777772e6f76656c656f6e2e64652f73686172652f6769746875622d6173736574732f636f6e74616f2d6d656d6265722d657874656e73696f6e2d62756e646c652f6d6f64756c655f6d656d62657264656c6574656176617461722e6a7067)
5. Member reader page

    1. Create the front end module *memberreader*
    2. Choose the member groups and the member fields that are allowed

---

Insert tags
-----------

[](#insert-tags)

Member avatars can be shown using following *insert-tags*

> For more information on *Insert tags*, please visit the official [Contao documentation](https://docs.contao.org/manual/en/article-management/insert-tags/ "Insert tags :: Contao Manual").

**Example**

```
{{avatar::member::current}}
{{avatar::member::current::200x200xproportional}}
{{avatar::member::4}}
{{avatar::member::4::300x300xcrop}}

// Output file url
{{avatar_url::member::current}}
{{avatar_url::member:4}}

```

The allowed image size parameters are: "**width** x **height** x **mode**"

Size mode (See: [Size Array](https://docs.contao.org/dev/framework/image-processing/image-sizes/#size-array))

- crop
- box
- proportional *(Contao 4.13 only)*

The standard mode vor avatar insert tags is *crop*

### Avatar insert tags

[](#avatar-insert-tags)

  **Member extension avatar**   **Insert tag** **Description**   {{avatar::member::current}} Displays the avatar of the logged in member   {{avatar::member::current::200x300}} Displays the avatar of the logged in member with a width of 200 and a height of 300   {{avatar::member::current::300x400xbox}} Displays the avatar of the logged in member with a width of 300, a height of 400 and the mode: box   {{avatar::member::123}} Displays the avatar of member id 123   {{avatar::member::123::200x300}} Displays the avatar of member id 123 with a width of 200 and a height of 300   {{avatar::member::123::300x400xbox}} Displays the avatar of member id 123 with a width of 300, a height of 400 and the mode: box ---

Front end modules
-----------------

[](#front-end-modules)

### Memberlist

[](#memberlist)

Displays activated members in a list.

### Memberreader

[](#memberreader)

Displays a detail page of a member.

### Avatar / Profile picture

[](#avatar--profile-picture)

Displays an avatar of a member. If no avatar has been uploaded, the default avatar (or the fallback avatar from the bundle) will be shown.

### Delete Avatar

[](#delete-avatar)

A module that can be embedded into a page that adds the possibility to delete the avatar of a member.

---

Advanced
--------

[](#advanced)

The member extension provides additional options that can be used with programmatic knowledge.

### Filter

[](#filter)

Allows filtering the member list in the frontend if the following conditions are met:

- 'Activate filters' is set to true within the member list module
- there exists fields within `tl_member` of inputType `checkbox` and evaluation `feFilterable` set to true

### Hooks

[](#hooks)

#### getMembers

[](#getmembers)

Allows modifying the columns and options for the database query.

```
// src/EventListener/onGetMembersListener.php
namespace App\EventListener;

use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
use Oveleon\ContaoMemberExtensionBundle\Controller\FrontendModule\MemberListController;

#[AsHook('getMembers')]
class onGetMembersListener
{
    public function __invoke(array &$columns, array &$options, MemberListController &$context): void
    {
        // Do something...
    }
}
```

#### parseMemberReader

[](#parsememberreader)

Allows modifying the member detail page

```
// src/EventListener/onParseMemberReaderListener.php
namespace App\EventListener;

use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
use Contao\MemberModel;
use Contao\Model;
use Contao\ModuleModel;
use Contao\Template;
use Oveleon\ContaoMemberExtensionBundle\Controller\FrontendModule\MemberReaderController;

#[AsHook('parseMemberReader')]
class onParseMemberReaderListener
{
    public function __invoke(MemberModel|Model &$member, Template &$template, ModuleModel &$model, MemberReaderController &$context): void
    {
        // Do something...
    }
}
```

#### parseMemberTemplate

[](#parsemembertemplate)

Allows modifying the member details

```
// src/EventListener/onParseMemberTemplateListener.php
namespace App\EventListener;

use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
use Contao\FrontendTemplate;
use Contao\MemberModel;
use Contao\Model;
use Contao\ModuleModel;
use Oveleon\ContaoMemberExtensionBundle\Controller\FrontendModule\MemberExtensionController;

#[AsHook('parseMemberTemplate')]
class onParseMemberTemplateListener
{
    public function __invoke(MemberModel|Model &$member, array &$fields, FrontendTemplate &$template, ModuleModel &$model, MemberExtensionController &$context): void
    {
        // Do something...
    }
}
```

---

Support
-------

[](#support)

> We **only provide support** for **bugs, and feature requests**; please only post issues about these two topics.
>
> If you need help implementing Contao Member Extension Bundle or you are just starting out with Contao/CSS or HTML, please contact us on our [website](https://www.oveleon.de/kontakt.html#kontaktformular), visit the [Contao Community](https://community.contao.org/)or the [Contao Slack](https://join.slack.com/t/contao/shared_invite/enQtNjUzMjY4MDU0ODM3LWVjYWMzODVkZjM5NjdlNDRiZjk2OTI3OWVkMmQ1YjA0MTQ3YTljMjFjODkwYTllN2NkMDcxMThiNzMzZjZlOGU), you will be able to find more help there.
>
> This will help us to keep the issues related to this plugin and solve them faster.

---

Sponsoring
----------

[](#sponsoring)

If you think this plugin is useful, please consider [sponsoring us](https://github.com/sponsors/oveleon) to help contribute to our time invested and to further development of this and other open source projects.

Your contributions, whether through `coding`, `testing`, `providing feedback`, or even a [donation](https://github.com/sponsors/oveleon), help ensure that we can continue offering free open source software. Join us in making a difference, and thank you for your support! - [Oveleon](https://www.oveleon.de).

[![](https://camo.githubusercontent.com/d2432db86e1cfca636933728a664bf886cff501efab549a0af6abab26fe8851b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f6c6162656c3d53706f6e736f72266d6573736167653d254532253944254134266c6f676f3d47697448756226636f6c6f723d253233666538653836)](https://github.com/sponsors/oveleon)

###  Health Score

48

—

FairBetter than 93% of packages

Maintenance58

Moderate activity, may be stable

Popularity25

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 80% 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 ~120 days

Recently: every ~112 days

Total

21

Last Release

276d ago

PHP version history (4 changes)1.0.0PHP &gt;=7.1

1.2.0PHP ^7.4 || ^8.0

1.3.0PHP ^8.0

1.4.0PHP ^8.1

### Community

Maintainers

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

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

---

Top Contributors

[![zoglo](https://avatars.githubusercontent.com/u/55794780?v=4)](https://github.com/zoglo "zoglo (56 commits)")[![doishub](https://avatars.githubusercontent.com/u/48379929?v=4)](https://github.com/doishub "doishub (9 commits)")[![eki89](https://avatars.githubusercontent.com/u/8254646?v=4)](https://github.com/eki89 "eki89 (5 commits)")

---

Tags

avatarcontaocontao-bundlemembercontaomember-extension-bundle

### Embed Badge

![Health badge](/badges/oveleon-contao-member-extension-bundle/health.svg)

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

###  Alternatives

[metamodels/core

MetaModels core

10156.4k68](/packages/metamodels-core)[codefog/contao-haste

haste extension for Contao Open Source CMS

46676.5k171](/packages/codefog-contao-haste)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

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

Node bundle for Contao Open Source CMS

3177.0k6](/packages/terminal42-contao-node)[terminal42/contao-folderpage

Provides a new page type for Contao that allows you to group pages into folders.

18156.0k10](/packages/terminal42-contao-folderpage)[contao-bootstrap/core

Core of Contao Bootstrap extension

1791.6k23](/packages/contao-bootstrap-core)

PHPackages © 2026

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