PHPackages                             netresearch/nr-landingpage - 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. netresearch/nr-landingpage

ActiveTypo3-cms-extension

netresearch/nr-landingpage
==========================

TYPO3 Landing Page Generator powered by LLM

v0.1.3(yesterday)0101↑2632.7%GPL-2.0-or-laterPHP ^8.2

Since Mar 13Compare

[ Source](https://github.com/netresearch/nr-landingpage)[ Packagist](https://packagist.org/packages/netresearch/nr-landingpage)[ RSS](/packages/netresearch-nr-landingpage/feed)WikiDiscussions Synced today

READMEChangelog (4)Dependencies (10)Versions (10)Used By (0)

TYPO3 Landing Page Generator (nr\_landingpage)
==============================================

[](#typo3-landing-page-generator-nr_landingpage)

A TYPO3 extension that generates landing pages via LLM using an interactive step-by-step backend wizard. Editors select a template, answer optional briefing questions, review AI-generated content, and publish -- all without leaving the TYPO3 backend.

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

[](#requirements)

DependencyVersionPHP^8.2TYPO313.4 LTS / 14.xnetresearch/nr-llm&gt;=0.4 &lt;1.0Installation
------------

[](#installation)

```
composer require netresearch/nr-landingpage
```

Activate the extension in the TYPO3 Extension Manager or via CLI:

```
vendor/bin/typo3 extension:activate nr_landingpage
```

Configuration
-------------

[](#configuration)

### Templates

[](#templates)

Templates are managed as TCA records (`tx_nrlandingpage_domain_model_template`) and define:

- **Title / Identifier** -- human-readable name and machine identifier
- **System Prompt** -- the LLM prompt used for content generation
- **Allowed CTypes** -- which content element types the template may produce
- **Page Fields** -- which page-level fields (e.g. `og:title`, `description`) are generated
- **Reference Pages** -- existing pages used as style/structure reference for the LLM
- **Briefing Mode** -- `required`, `optional`, or `none`
- **Publish Mode** -- whether pages are created hidden or visible
- **Backend User Groups** -- restrict template visibility to specific groups

### LLM Configuration

[](#llm-configuration)

The extension relies on `netresearch/nr-llm` for LLM interaction. Configure your LLM backend (OpenAI, Azure OpenAI, etc.) according to the nr-llm documentation. Each template can optionally reference a specific LLM configuration record.

Usage
-----

[](#usage)

### Wizard Steps

[](#wizard-steps)

1. **Template Selection** -- choose from available landing page templates
2. **Briefing** -- answer LLM-generated questions to guide content creation (optional/required per template)
3. **Page Fields** -- review and edit generated SEO and meta fields
4. **Content Preview** -- review generated content sections; regenerate individual sections as needed
5. **Placement &amp; Save** -- choose parent page, set title/slug, and create the landing page

### Context Menu

[](#context-menu)

Right-click any page in the page tree and select "Create Landing Page" to launch the wizard with that page pre-selected as the parent.

### PSR-14 Events

[](#psr-14-events)

The extension dispatches events that allow customization:

- `BeforePageCreationEvent` -- modify page data before the page record is written
- `AfterContentGenerationEvent` -- modify generated content sections before they are saved

Development
-----------

[](#development)

### Setup

[](#setup)

```
git clone
composer install
```

### Local TYPO3 Environment (DDEV)

[](#local-typo3-environment-ddev)

A DDEV configuration is included for local development with a full TYPO3 installation:

```
ddev start
ddev install-v14
```

This installs TYPO3 v14 with the extension and all dependencies (including `nr-llm` and `nr-vault` via Composer).

- **Backend:**
- **Credentials:** admin / Joh316!!

> **Traefik users:** If ports 80/443 are already in use (e.g. by an external Traefik proxy), DDEV will fall back to alternate ports. You can disable the DDEV router globally (`router: none` in `~/.ddev/global_config.yaml`) and route traffic through your existing Traefik by adding the `traefik` network and labels to `.ddev/docker-compose.web.yaml`. See the [DDEV documentation on router configuration](https://ddev.readthedocs.io/en/stable/users/configuration/config/#router).

### Quality Checks

[](#quality-checks)

```
# Run all checks
composer ci

# Individual checks
composer ci:phpstan      # PHPStan Level 10
composer ci:cgl          # PHP-CS-Fixer (dry-run)
composer ci:tests        # PHPUnit (unit + architecture tests)

# Fix code style
composer fix:cgl
```

### Test Suites

[](#test-suites)

SuiteDirectoryDescriptionunit`Tests/Unit/`Unit tests (mocked services)functional`Tests/Functional/`Functional tests (TYPO3 framework)architecture`Tests/Architecture/`phpat layer dependency testse2e`Tests/E2E/`Playwright E2E tests (skeleton)### E2E Tests (Playwright)

[](#e2e-tests-playwright)

```
cd Tests/E2E
npm install
npx playwright install
npx playwright test
```

Requires a running TYPO3 instance. Set `TYPO3_BASE_URL` to override the default `https://nr-landingpage.ddev.site`.

### Architecture

[](#architecture)

```
Classes/
  Controller/Backend/    Wizard controller (AJAX endpoints)
  ContextMenu/           Page tree context menu provider
  Domain/Model/          Template value object
  Event/                 PSR-14 events
  Service/               Business logic (Template, Briefing, ContentGenerator, ImageSearch, PageCreator)
Configuration/
  Backend/               Module + AJAX route registration
  TCA/                   Template TCA
Resources/
  Public/JavaScript/     ES6 wizard modules
Tests/
  Unit/                  PHPUnit unit tests
  Architecture/          phpat architecture tests
  E2E/                   Playwright E2E test skeleton

```

Contributing
------------

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

License
-------

[](#license)

GPL-2.0-or-later. See [LICENSE](LICENSE).

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance100

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

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

Total

4

Last Release

1d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/151247?v=4)[Netresearch DTT GmbH](/maintainers/netresearch)[@netresearch](https://github.com/netresearch)

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/netresearch-nr-landingpage/health.svg)

```
[![Health](https://phpackages.com/badges/netresearch-nr-landingpage/health.svg)](https://phpackages.com/packages/netresearch-nr-landingpage)
```

###  Alternatives

[friendsoftypo3/content-blocks

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

103519.9k57](/packages/friendsoftypo3-content-blocks)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[wazum/sluggi

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

40529.5k](/packages/wazum-sluggi)[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[typo3/cms-redirects

TYPO3 CMS Redirects - Create manual redirects, list existing redirects and automatically createredirects on slug changes.

167.4M81](/packages/typo3-cms-redirects)[typo3/cms-adminpanel

TYPO3 CMS Admin Panel - The Admin Panel displays information about your site in the frontend and contains a range of metrics including debug and caching information.

115.7M68](/packages/typo3-cms-adminpanel)

PHPackages © 2026

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