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

ActiveTypo3-cms-extension

marekskopal/typo3-timeline
==========================

Timeline events plugin for TYPO3 CMS

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

Since Mar 15Pushed 1mo agoCompare

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

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

Timeline for TYPO3 CMS
======================

[](#timeline-for-typo3-cms)

Timeline events as a content element in TYPO3. Events with a name, short description, and date range are managed in the TYPO3 backend; the frontend renders a responsive two-column timeline with alternating left/right cards.

Features
--------

[](#features)

- Events with name, perex, description (RTE), date from, and optional date to
- Events sorted by date (newest first)
- Alternating left/right card layout with a central vertical line
- Customizable templates and styling

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

[](#requirements)

- PHP 8.3+
- TYPO3 13.4 or 14.x

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

[](#installation)

```
composer require marekskopal/typo3-timeline
```

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

Setup
-----

[](#setup)

Include the TypoScript Set **Timeline** in your site package or via the site configuration sets.

Backend Setup
-------------

[](#backend-setup)

Create **Timeline Event** records on the page where the content element is placed:

- **Title** — event title (required)
- **Subtitle** — optional subtitle shown below the title
- **Perex** — short summary shown on the card
- **Description** — full RTE description
- **Date From** — event start date (required, used for sorting)
- **Date To** — event end date (optional)

Then add the **Timeline** content element to the same page.

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

[](#customization)

### Templates

[](#templates)

Override templates by setting custom paths in TypoScript:

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

```

### Styling

[](#styling)

The extension includes minimal CSS. Key classes:

ClassElement`.mstimeline-wrapper`Outer wrapper`.mstimeline`Timeline container`.mstimeline__item`Single event row`.mstimeline__item--left`Card positioned on the left`.mstimeline__item--right`Card positioned on the right`.mstimeline__dot`Central dot marker`.mstimeline__card`Event card`.mstimeline__date`Date label`.mstimeline__title`Event title`.mstimeline__subtitle`Event subtitle`.mstimeline__perex`Short description`.mstimeline__description`Full RTE descriptionLicense
-------

[](#license)

GPL-2.0-or-later

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance89

Actively maintained with recent releases

Popularity6

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

58d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2eeb4a0e8bc7e2ce26f00193dac3973909911a18079b18956b03af66b901421a?d=identicon)[marekskopal](/maintainers/marekskopal)

---

Top Contributors

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

---

Tags

eventstimelinetypo3

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[aimeos/aimeos-typo3

Professional, full-featured and high performance TYPO3 e-commerce extension for online shops and complex B2B projects

1.5k91.2k4](/packages/aimeos-aimeos-typo3)[typo3/testing-framework

The TYPO3 testing framework provides base classes for unit, functional and acceptance testing.

675.0M775](/packages/typo3-testing-framework)[in2code/femanager

Modern TYPO3 Frontend User Registration.

49745.4k6](/packages/in2code-femanager)[pagemachine/typo3-formlog

Form log for TYPO3

23225.3k6](/packages/pagemachine-typo3-formlog)[leuchtfeuer/secure-downloads

"Secure Download": Apply TYPO3 access rights to ALL file assets (PDFs, TGZs or JPGs etc. - configurable) - protect them from direct access.

22234.7k1](/packages/leuchtfeuer-secure-downloads)[leuchtfeuer/locate

Locate - The users country, preferred language and other facts will be detected. Depending on configurable rules the user can be redirected to other languages or pages. Locate also provides geo blocking for configurable pages in configurable countries.

1182.8k](/packages/leuchtfeuer-locate)

PHPackages © 2026

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