PHPackages                             traw/vhs-col - 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. [Templating &amp; Views](/categories/templating)
4. /
5. traw/vhs-col

ActiveTypo3-cms-extension[Templating &amp; Views](/categories/templating)

traw/vhs-col
============

A collection of more or less useful ViewHelpers and Utilities

1.18.4(2mo ago)23.2k↓46.7%[2 issues](https://github.com/thomasrawiel/vhs-col/issues)GPL-3.0-or-laterPHPPHP ^8.1

Since Jul 3Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/thomasrawiel/vhs-col)[ Packagist](https://packagist.org/packages/traw/vhs-col)[ RSS](/packages/traw-vhs-col/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (8)Versions (71)Used By (0)

vhscol
======

[](#vhscol)

A collection of more or less useful ViewHelpers

Usage
=====

[](#usage)

Namespace is registered globally as `vcol`

### URI Phone number

[](#uri-phone-number)

example with Address phone number

```
{address.phone}

```

SVG
---

[](#svg)

### Render SVG Content

[](#render-svg-content)

render a svg filereference as inline svg html

```
 /f:format.raw>

```

### Svg VH

[](#svg-vh)

render SVG from given name, has typoscript config

Text
----

[](#text)

### Pipe to BR

[](#pipe-to-br)

If you don't allow
 e.g. in the header, you can use `|` symbols. This vh replaces the | with
 tag

Misc
----

[](#misc)

### Exension loaded

[](#exension-loaded)

Condition if any extension key is loaded

```

    do something

```

TCA Options Map ItemsProcFunction
---------------------------------

[](#tca-options-map-itemsprocfunction)

The field must have this itemsProcFunc registered: `\TRAW\VhsCol\Configuration\TcaOptionsMap::class . '->addOptions'`

You can register multiple condtions per field, e.g. "add option A if condition A is met and option B if condition B is met"

### Usage

[](#usage-1)

For the table define the option map

```
$GLOBALS['TCA']['tt_content]['tx_vhscol_option_map'] = [...];
$GLOBALS['TCA']['pages]['tx_vhscol_option_map'] = [...];

```

For the field define one or more conditon/option array:

```
'frame_class' => [
    [
        'conditions' => [
            'fields' => [
                'fieldName1' => [ values ],
                'fieldName2' => [ values ],
            ],
            'functions' => [
                'parentPageProperties' => [
                    'parentPageFieldName' => [ values]
                ],
                'parentContainerProperties' => [
                    'parentContainerFieldName' => [ values ]
                ],
            ],
        ],
        'options' => [
            ['label', 'dbvalue'],
            ['label2', 'dbvalue3'],
            ['label3', 'dbvalue3'],
        ],
    ],
    [
        // other options and conditions
    ]
],

```

If you omit the condition array, the options will always be added

### Condition Types

[](#condition-types)

fields: the field matches one of the values notFields: the field matches none of the values functions: the function returns true functions can either be `parentPageProperties` or `parentContainerProperties`

### Usage in tt\_content

[](#usage-in-tt_content)

(e.g. Configuration/TCA/Overrides/tt\_content.php)

Add the option if all of the following conditions are met

- Ctype=textmedia,
- colPos=0 or 1,
- parent page has doktype 100
- parent container (b13/container) has the CType "row-100" or "row-tabs"

```
$GLOBALS['TCA']['tt_content']['columns']['frame_class']['config']['itemsProcFunc']
 = \TRAW\VhsCol\Configuration\TcaOptionsMap::class . '->addOptions';
$GLOBALS['TCA']['tt_content']['tx_vhscol_option_map'] = [
    'frame_class' => [
        [
            'conditions' => [
                'fields' => [
                    'CType' => ['textmedia'],
                    'colPos' => [0,1],
                ],
                'functions' => [
                    'parentPageProperties' => [
                        'doktype' => [100]
                    ],
                    'parentContainerProperties' => [
                        'CType' => ['row-100', 'row-tabs']
                    ],
                ],
            ],
            'options' => [
                ['label', 'dbvalue'],
            ],
        ]
    ],
];

```

### Usage in pages

[](#usage-in-pages)

(e.g. Configuration/TCA/Overrides/pages.php)

Add the option 1 and 2 if the following conditions are met

- doktype is 1 (Standard page)
- the parent site is a root page

Add the option 3 and 4 if the following conditions are met:

- doktype is 1, 10 or 100
- the parent page is not a root page

    //Add itemsProcFunc to pages field $GLOBALS\['TCA'\]\['pages'\]\['columns'\]\['layout'\]\['config'\]\['itemsProcFunc'\] = \\TRAW\\VhsCol\\Configuration\\TcaOptionsMap::class . '-&gt;addOptions'; $GLOBALS\['TCA'\]\['pages'\]\['tx\_vhscol\_option\_map'\] = \[ 'layout' =&gt; \[ \[ 'conditions' =&gt; \[ 'fields' =&gt; \[ 'doktype' =&gt; \[1\], \], 'functions' =&gt; \[ 'parentPageProperties' =&gt; \[ 'is\_siteroot' =&gt; \[1\] \], \], \], 'options' =&gt; \[ \['label1', 'dbvalue1'\], \['label2', 'dbvalue2'\], \], \], // Add the options if it's doktype 1 but the parent is not a root page \[ 'conditions' =&gt; \[ 'fields' =&gt; \[ 'doktype' =&gt; \[1,10,100\], \], 'functions' =&gt; \[ 'parentPageProperties' =&gt; \[ 'is\_siteroot' =&gt; \[0\] \], \], \], 'options' =&gt; \[ \['label3', 'dbvalue3'\], \['label4', 'dbvalue3'\], \], \] \], \]; ``

Also works with other tables (news, address, etc.)

TODO:
=====

[](#todo)

- Documentation

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance66

Regular maintenance activity

Popularity24

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity63

Established project with proven stability

 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

Every ~9 days

Recently: every ~20 days

Total

68

Last Release

67d ago

Major Versions

1.18.4 → v14.x-dev2026-03-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/e5b5f37bac2846cb2e47cf2a0dc737726e94e63a241c256c14b17333b00475f1?d=identicon)[thomas.rawiel](/maintainers/thomas.rawiel)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/traw-vhs-col/health.svg)

```
[![Health](https://phpackages.com/badges/traw-vhs-col/health.svg)](https://phpackages.com/packages/traw-vhs-col)
```

###  Alternatives

[fluidtypo3/vhs

This is a collection of ViewHelpers for performing rendering tasks that are not natively provided by TYPO3's Fluid templating engine.

1954.1M49](/packages/fluidtypo3-vhs)[bk2k/bootstrap-package

Bootstrap Package delivers a full configured frontend theme for TYPO3, based on the Bootstrap CSS Framework.

357891.4k72](/packages/bk2k-bootstrap-package)[mask/mask

Create your own content elements and page templates. Easy to use, even without programming skills because of the comfortable drag and drop user interface. Stored in structured database tables. Style your frontend with Fluid tags. Ideal, if you want to switch from Templavoila.

1391.6M10](/packages/mask-mask)[typo3/cms-fluid

TYPO3 CMS Fluid Integration - Integration of the Fluid templating engine into TYPO3.

1912.0M403](/packages/typo3-cms-fluid)[sitegeist/fluid-styleguide

Living styleguide for Fluid Components

16227.4k1](/packages/sitegeist-fluid-styleguide)[bmack/modern-template-building

A homage to the old-style marker-based templating of TYPO3. Includes TEMPLATE and FILE cObjects.

1413.8k3](/packages/bmack-modern-template-building)

PHPackages © 2026

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