PHPackages                             analogde/ce-gen - 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. analogde/ce-gen

ActiveTool[Utility &amp; Helpers](/categories/utility)

analogde/ce-gen
===============

Content Element generator for startpilot

1.6.1(5y ago)514.2k↓50%4GPL-2.0Shell

Since May 9Pushed 5y ago8 watchersCompare

[ Source](https://github.com/Startpiloten/ce-gen)[ Packagist](https://packagist.org/packages/analogde/ce-gen)[ RSS](/packages/analogde-ce-gen/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (1)Versions (24)Used By (0)

Content Element generator for startpilot
========================================

[](#content-element-generator-for-startpilot)

This documentation is written for version [1.4.0](https://github.com/Alphatone/ce-gen/releases/tag/1.4.0) of ce-gen. The ce-gen only works in combination with a [startpilot](https://github.com/Startpiloten/startpilot/) provider extension

What it does:
-------------

[](#what-it-does)

ce-gen is a CLI tool built to generate all the files a Custom Content Element needs. It's name stems from **c**ontent **e**lement **gen**erator. This includes:

- fluidtemplates
- backendpreview templates
- scss files
- tsconfig files
- typoscript files

In order to generate and include these files automatically we use the structure of a startpilot provider extension.

There are three different types of Custom Content Elements ce-gen allows you to generate. These are defined as follows:

- Default Item
- Irre Item
- MM Item

Each one of them is generated with a ready to use frontend output and can immediately be used in the backend. There is a caveat to it which we will get to in the section below.

#### What is a Default Item?

[](#what-is-a-default-item)

A default item is probably the most common and straight forward content element. Per default (and that's the caveat) it only ships with a single configured (header) field. ce-gen provides you with everything you need to check to be sure that you have a working basis you can build your Custom Content Element on.

#### What is a Irre Item?

[](#what-is-a-irre-item)

Irre is an acronym for Inline-Relational-Record-Editing. Check out the [official documentation](https://docs.typo3.org/typo3cms/TCAReference/ColumnsConfig/Type/Inline.html) on this topic. An Irre Item is a content element that contains an arbitrary amount of same predefined other elements. Think of an accordion, where multiple equally structured elements are grouped together. Remember the caveat? These wrapped and equally structured elements also ship with a header field only.

#### What is a MM Item?

[](#what-is-a-mm-item)

A MM Item makes use of the bidirectional binding betweend two tables. One of the tables contains a list of records, the other one is able to display a arbitrary amount, combination and order of these records. A common use case for these items could look like this:

You need to display a contact person on your customer's website. Your customer needs the contact person to be on some pages but not all of them. There also is a page where all the persons get displayed in a list. Each person has their own profile page as well, displaying information about him.

In this case the record would be the contact person. With MM Items you can create a record that holds all the data that gets displayed in the different views. How this record is displayed – layoutwise and which data – is completely up to the container holding these records. The advantage over three different default items that could manage three different layouts as well lies in being able to edit a single record and effect all places this record is being displayed. In a MM relation item you also are able to jump from the wrapping container to its child records and edit them directly.

System Requirements
-------------------

[](#system-requirements)

- a startpilot provider extension
- PHP 7.2 has to be available on your CLI
- composer
- gettext

If you do not have setup a provider extension with startpilot, please refer to the [startpilot documentation](https://github.com/Startpiloten/startpilot/). There are plenty of well documentad different ways to install PHP 7.2, composer or gettext. Feel free to use whatever suits you best. You can check these requirements by running following commands on your cli:

`php -v` should print 7.2.\* (or newer):

```
PHP 7.2.1 (cli) (built: Jan 15 2018 12:20:50) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
```

`composer -v` should print 1.6.\*:

`Composer version 1.6.2 2018-01-05 15:28:41`

`gettext -v` should print 0.19.\*

`gettext (GNU gettext-runtime) 0.19.6`

Usage
-----

[](#usage)

Alwas run the script from your project root (depending on your composer.json bin-dir).

If you have not set the bin-dir in the composer.json (default):

use: `sh vendor/bin/ce-gen.sh`

If the config entry in your composer.json contains this:

```
  "config": {
    "bin-dir": "."
  }
```

you can execute the ce-gen by entering following command on your cli:

`sh ce-gen.sh`

**!! Do not cd into vendor/bin/ and run it there!!**

After you entered the command for the first time the cli will inform you that `.t3.cegen.yaml` was not found and it creates the missing file in your project root. If you open it it should look something like this:

```
extension:
  name: startpilot
  path: public/typo3conf/ext/startpilot
```

You have to replace the name property with the name you gave your startpilot provider extension and check if the path to your extension directory is correct. If you did not bother to change the name of it you can skip this step.

If you execute `ce-gen.sh` again you will get prompted to chose the type of content element you want to create (if this sounds new to you, you can look it up at „What it does?“ above). Next up are some specifications that get displayed and the backend as well as the cType TYPO3 needs to refer to the element internally.

Once you get asked if you want to start over again, you know all went well and you are ready and set to begin adding just anything you need your new content element to have.

If your version control was clean as you started you will not find it clean anymore. There should be added files that the ce-gen generated, as well as a .gitignore change that adds the `.t3cegen.yaml` to it.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 90% 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 ~62 days

Recently: every ~122 days

Total

23

Last Release

1932d ago

Major Versions

0.3.0 → 1.0.02017-09-20

1.2.3 → 8.x-dev2018-09-05

1.5.0 → 9.x-dev2019-10-01

9.x-dev → 10.x-dev2020-01-24

### Community

Maintainers

![](https://www.gravatar.com/avatar/478501263e7c8eb38985e1f166558baf4b2ed0c16f78065381bd2847188e3265?d=identicon)[analogde](/maintainers/analogde)

---

Top Contributors

[![misterboe](https://avatars.githubusercontent.com/u/6050140?v=4)](https://github.com/misterboe "misterboe (99 commits)")[![randomresult](https://avatars.githubusercontent.com/u/4463384?v=4)](https://github.com/randomresult "randomresult (7 commits)")[![fritzdacat](https://avatars.githubusercontent.com/u/5744779?v=4)](https://github.com/fritzdacat "fritzdacat (3 commits)")[![arndmesser](https://avatars.githubusercontent.com/u/4946988?v=4)](https://github.com/arndmesser "arndmesser (1 commits)")

### Embed Badge

![Health badge](/badges/analogde-ce-gen/health.svg)

```
[![Health](https://phpackages.com/badges/analogde-ce-gen/health.svg)](https://phpackages.com/packages/analogde-ce-gen)
```

###  Alternatives

[in2code/powermail

Powermail is a well-known, editor-friendly, powerful and easy to use mailform extension for TYPO3 with a lots of features

982.5M38](/packages/in2code-powermail)[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)[derhansen/sf_event_mgt

Configurable event management and registration extension based on ExtBase and Fluid

64313.9k6](/packages/derhansen-sf-event-mgt)[typo3/cms-t3editor

TYPO3 CMS T3Editor - JavaScript-driven editor with syntax highlighting and code completion. Based on CodeMirror.

115.9M50](/packages/typo3-cms-t3editor)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

39488.5k](/packages/wazum-sluggi)

PHPackages © 2026

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