PHPackages                             namelesscoder/patternlab-fluid-edition - 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. namelesscoder/patternlab-fluid-edition

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

namelesscoder/patternlab-fluid-edition
======================================

1.0.0(8y ago)17815↑25%2[2 issues](https://github.com/NamelessCoder/patternlab-fluid-edition/issues)MITJavaScript

Since Nov 14Pushed 8y ago2 watchersCompare

[ Source](https://github.com/NamelessCoder/patternlab-fluid-edition)[ Packagist](https://packagist.org/packages/namelesscoder/patternlab-fluid-edition)[ RSS](/packages/namelesscoder-patternlab-fluid-edition/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (5)Versions (3)Used By (0)

Pattern Lab Fluid Edition
=========================

[](#pattern-lab-fluid-edition)

**This is the entry point for new Pattern Lab Fluid Edition projects!**

[![license](https://camo.githubusercontent.com/33db58d3ddf45ebfe0943d54c351b16b2614d93c330af21420c303fd1990ab6c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6e616d656c657373636f6465722f7061747465726e6c61622d666c7569642d65646974696f6e2e737667)](https://camo.githubusercontent.com/33db58d3ddf45ebfe0943d54c351b16b2614d93c330af21420c303fd1990ab6c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6e616d656c657373636f6465722f7061747465726e6c61622d666c7569642d65646974696f6e2e737667)[![Packagist](https://camo.githubusercontent.com/692d8ed37a29174c5eed76250260ddf0e722c79cfb2ab68182ed9bdb9739a1ac/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e616d656c657373636f6465722f7061747465726e6c61622d666c7569642d65646974696f6e2e737667)](https://camo.githubusercontent.com/692d8ed37a29174c5eed76250260ddf0e722c79cfb2ab68182ed9bdb9739a1ac/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e616d656c657373636f6465722f7061747465726e6c61622d666c7569642d65646974696f6e2e737667)

Pattern Lab Fluid Edition
=========================

[](#pattern-lab-fluid-edition-1)

This package is an edition of [Pattern Lab](http://patternlab.io) for the [TYPO3 Fluid template engine](https://github.com/TYPO3/Fluid).

Installing
----------

[](#installing)

**Please note:** The Pattern Lab Fluid edition exclusively uses [Composer](https://getcomposer.org/) to manage project dependencies. No pre-built packages are available - the application can only be installed with Composer.

### Use Composer to create a project

[](#use-composer-to-create-a-project)

Pattern Lab uses [Composer](https://getcomposer.org/) to manage project dependencies.

#### 1. Install Composer

[](#1-install-composer)

Please follow the directions for [installing Composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx) on the Composer website.

#### 2. Install the Pattern Lab Fluid Edition

[](#2-install-the-pattern-lab-fluid-edition)

Use Composer's [`create-project` command](https://getcomposer.org/doc/03-cli.md#create-project) to install the edition as base for new projects:

```
cd install/location/
composer create-project namelesscoder/patternlab-fluid-edition your-project-name && cd $_

```

This will create a folder named `your-project-name`, install the Fluid edition to that folder and walk you through the install process.

You will be asked to choose a starter kit - at the current time only one such starter kit is available. Select and install it to complete the installation process.

Updating Pattern Lab
--------------------

[](#updating-pattern-lab)

Updating the Fluid edition of Pattern Lab can be done with `composer update`.

Special usage instructions for Fluid
------------------------------------

[](#special-usage-instructions-for-fluid)

The Pattern Lab Fluid Edition comes with a few extra features as demonstrated by this configuration example:

> config/config.yml

```
fluidNamespaces:
    f:
        - TYPO3\CMS\Fluid\ViewHelpers
    myns:
        - My\Package\ViewHelpers
emulatedViewHelpers:
    My\Special\TagGeneratingViewHelper:
        tagName: "a"
        attributeMap:
            specialTargetArgumentName: "href"
        outputsTagContent: true
        forceClosingTag: true
    My\Special\NormalViewHelper:
        outputsTagContent: true
```

Briefly described, these options allows:

- Registering additional namespaces that Fluid will see (inline imports are still fully possible!)
- Emulate ViewHelpers from packages which have special requirements e.g. for DB access

The ViewHelper emulation is only superficially configurable; generally speaking the best advise is to structure your templates so that things like URLs (which are usually framework-specific) do not get generated by ViewHelpers but are instead passed as arguments to partials. But for those cases where a ViewHelper must be included and an output emulated, these options can be used.

The options allow:

- Changing the tag name of TagBasedViewHelpers.
- Mapping arguments to attributes of resulting tags (e.g. your ViewHelper receives an ID as target, mapping that to for example `href` will produce valid HTML - but with broken link targets).
- Configure whether or not an emulated ViewHelper is designed to output the tag contents.
- Forcing a generated tag to be self-closing or not (for example if the ViewHelper generates `` this must be set to `false` to produce a `` tag instead of ``).

It is also possible to create drop-in ViewHelpers by making new PHP class files in `source/_viewhelpers/` and using the special `plio` namespace, e.g. if you created a file `MySpecialViewHelper.php` with a class called `MySpeciaViewHelper`then this class can be used as `` in templates without needing to import the namespace.

Drop-in ViewHelpers *can use completely arbitrary folder nesting and namespaces* which makes it easier to prototype such classes without being able to autoload them through normal means, and without having a target package for them as is normally required.

### ViewHelper argument validation and execution

[](#viewhelper-argument-validation-and-execution)

There are two levels of emulation which may apply to ViewHelpers:

1. Original class is completely missing, which fully emulates the ViewHelper
2. Original class exists but cannot be rendered, which only partially emulates the ViewHelper

What this means is that *fully emulated* ViewHelpers do not validate arguments at all and will only behave as they are configured to behave using settings above. But, *partially emulated* ViewHelpers will validate arguments being used to verify that required arguments are present and will attempt to render themselves - but any failure while rendering causes the emulated output to take over. For example, this can be failures stemming from missing dependencies or lack or an environment expected by the application the ViewHelper belongs to.

In short: if you wish ViewHelper arguments to be validated and those ViewHelpers which have no special dependencies to be fully functional, make sure you also add the package providing these ViewHelpers as dependency for your local project - and configure or import the namespace in templates. If the class can be loaded, argument descriptions can be loaded and validated as well.

Helpful Commands
----------------

[](#helpful-commands)

These are some helpful commands you can use on the command line for working with Pattern Lab.

### List all of the available commands

[](#list-all-of-the-available-commands)

To list all available commands type:

```
php core/console --help

```

To list the options for a particular command type:

```
php core/console --help --[command]

```

### Generate Pattern Lab

[](#generate-pattern-lab)

To generate the front-end for Pattern Lab type:

```
php core/console --generate

```

### Watch for changes and re-generate Pattern Lab

[](#watch-for-changes-and-re-generate-pattern-lab)

To watch for changes and re-generate the front-end for Pattern Lab type:

```
php core/console --watch

```

### Start a server to view Pattern Lab

[](#start-a-server-to-view-pattern-lab)

You can use PHP's built-in web server to review your Pattern Lab project in a browser. In a seperate window type:

```
php core/console --server

```

Then open  in your browser.

### Install a StarterKit

[](#install-a-starterkit)

To install a near-empty StarterKit as a starting point for your project type:

```
php core/console --starterkit --init

```

To install a specific StarterKit from GitHub type:

```
php core/console --starterkit --install

```

### Credits

[](#credits)

This work was kindly sponsored by [Busy Noggin](http://busynoggin.com/).

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity64

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

Total

2

Last Release

3038d ago

### Community

Maintainers

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

---

Top Contributors

[![NamelessCoder](https://avatars.githubusercontent.com/u/2228052?v=4)](https://github.com/NamelessCoder "NamelessCoder (4 commits)")[![DanielRuf](https://avatars.githubusercontent.com/u/827205?v=4)](https://github.com/DanielRuf "DanielRuf (1 commits)")

---

Tags

atomic-designdesignfluidneos-cmspattern-labpatternlabtypo3

### Embed Badge

![Health badge](/badges/namelesscoder-patternlab-fluid-edition/health.svg)

```
[![Health](https://phpackages.com/badges/namelesscoder-patternlab-fluid-edition/health.svg)](https://phpackages.com/packages/namelesscoder-patternlab-fluid-edition)
```

###  Alternatives

[typo3/cms-redirects

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

167.0M55](/packages/typo3-cms-redirects)[aleksip/plugin-data-transform

Data Transform Plugin for Pattern Lab PHP

34897.4k3](/packages/aleksip-plugin-data-transform)[pattern-lab/edition-drupal-standard

Standard Edition of Pattern Lab for Drupal.

12419.1k](/packages/pattern-lab-edition-drupal-standard)[pattern-lab/plugin-data-inheritance

Data inheritance based on pattern lineage for Pattern Lab.

13103.9k1](/packages/pattern-lab-plugin-data-inheritance)[eliashaeussler/typo3-solver

Extension for TYPO3 CMS to extend TYPO3's exception handling with AI generated solutions

292.1k](/packages/eliashaeussler-typo3-solver)

PHPackages © 2026

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