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.19.1(2mo ago)23.8k↓56.7%[2 issues](https://github.com/thomasrawiel/vhs-col/issues)GPL-3.0-or-laterPHPPHP ^8.1

Since Jul 3Pushed 1mo 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 2d ago

READMEChangelogDependencies (13)Versions (76)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

45

—

FairBetter than 91% of packages

Maintenance69

Regular maintenance activity

Popularity25

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

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

Total

73

Last Release

53d ago

Major Versions

1.19.1 → v14.x-dev2026-05-05

1.18.6 → v12.x-dev2026-05-12

### 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 (149 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

[typo3/cms-fluid

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

1912.9M647](/packages/typo3-cms-fluid)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[pagemachine/typo3-formlog

Form log for TYPO3

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

TYPO3 CMS Install Tool - The Install Tool is used for installation, upgrade, system administration and setup tasks.

1812.3M496](/packages/typo3-cms-install)[typo3/cms-seo

TYPO3 CMS SEO - SEO features including specific fields for SEO purposes, rendering of HTML meta tags and sitemaps.

168.9M155](/packages/typo3-cms-seo)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33304.3k](/packages/web-vision-wv-deepltranslate)

PHPackages © 2026

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