---
title: Configuration
url: "https://b13.com/products/vg-wort-pro-for-typo3/documentation/configuration"
date: 2026-09-19
modified: 2026-09-19
lastUpdated: 2026-09-19
---

# Configuration

![Black icon featuring a stylized letter "A" with sparkles, set against a light blue and green abstract background.](https://b13.com/fileadmin/_processed_/c/d/csm_sharing-ext-VGWortPro-S_9821f76de1.webp)

 Documentation
===============

 TYPO3 Extension “VG Wort Pro”
 Version 0.10.0 (2026-09-19)

  Everything is configured per site, in `config/sites/<identifier>/settings.yaml`. There is no extension configuration and no global switch: two sites in one installation can use two VG Wort accounts, or one, or only one of them the API at all.

   Settings
----------

| Setting | Default | What it does |
|---|---|---|
| `vgwort.api.enabled` | `false` | Turns on everything that talks to VG Wort: ordering pixels, verifying authors, reporting, syncing. Off, the module still manages pools, texts and authors locally. |
| `vgwort.api.username` | `''` | T.O.M. portal login. |
| `vgwort.api.password` | `''` | T.O.M. portal password. |
| `vgwort.api.testMode` | `false` | Sends to `tom-test.vgwort.de` instead of `tom.vgwort.de`. |
| `vgwort.publisher` | `false` | Declares this site’s account a publisher account (Verlagskonto). Shows the Publisher not involved checkbox in page properties. |

   What comes from the free extension
------------------------------------

`b13/vgwort` is always installed alongside this one, and four of its settings decide how this extension behaves. They are listed here because nobody looking for "why is nothing counted" thinks to read a second README.

  ###  vgwort.domain

| Default | `vg08` |
|---|---|

The counting server, `vg01` to `vg09`. **The correct value is on your VG Wort pixel order, and it is not the same for every account.** Pointing at the wrong server means the pixel resolves to a host that does not know it: the page delivers a pixel, the module shows a green check, and nothing is ever counted.

Set it next to the API settings:

     Copy

```
settings:
  vgwort:
    domain: 'vg05'
```

  Nothing in TYPO3 can verify this for you—check it against the order confirmation once, per account.

  ###  contentDoktypes

Which page types get the VG Wort fields, and therefore which pages can carry a pixel at all. See [below](#c12683).

  ###  The tx\_vgwort\_ignore field

A checkbox on every page, from the free extension: exclude this page from VG Wort. This extension reads it in two places—an ignored page is not offered for registration, and it cannot become part of a bundled text, because a page that shows no pixel must not appear in a report’s URL list.

  ###  How the pixel reaches the page

Through the site set, and with this extension installed, **only** through the site set.

The free extension renders the pixel by reading `tx_vgwort_pixel` off the page. That is right for a text on one page and wrong for a text on several: the member pages of a bundle store no pixel of their own, they have to deliver the entry page’s. So the Pro set replaces that output (`page.1 >`, then its own renderer), which is also what makes `tx_vgwort_ignore` take effect.

**The `VgwortTracking` partial from the free extension is therefore not an alternative here.** Placing the pixel yourself with it brings back exactly the behaviour the Pro set replaced: every member page of a bundled text delivers nothing, and every text spread over several pages counts only its first one.

What matters either way is that the pixel arrives, and that is the single most common thing to get wrong. See [How It Works](https://b13.com/products/vg-wort-pro-for-typo3/documentation/how-it-works#c12664).

  ###  The two that cost you

**`testMode`.** A report sent in test mode is accepted, looks exactly like a real one in the backend, and reaches nothing. Nothing distinguishes it afterwards. This is the single most expensive setting in the list, because the mistake is silent and the deadline passes anyway.

**`publisher`.** It decides whether a share of the royalty goes to the publisher. Set it `true` on a personal account and every report claims a participation that does not exist; set it `false` on a publisher account and the publisher’s share is gone. It is not a display option.

   Credentials
-------------

Keep them out of version control:

     Copy

```
settings:
  vgwort:
    api:
      enabled: true
      username: '%env(VGWORT_USERNAME)%'
      password: '%env(VGWORT_PASSWORD)%'
```

  **Several sites, several accounts.** Use distinct environment variable names per site and reference them in each site’s `settings.yaml`:

     Copy

```
# config/sites/site-a/settings.yaml
settings:
  vgwort:
    api:
      enabled: true
      username: '%env(VGWORT_SITE_A_USERNAME)%'
      password: '%env(VGWORT_SITE_A_PASSWORD)%'
```

  Credentials are resolved through the root page of the site a page belongs to, so each site’s pool, texts and API calls always use its own account. Sites that share one VG Wort account can reference the same variables.

   Publisher or personal account
-------------------------------

| Account | `vgwort.publisher` | Behaviour |
|---|---|---|
| Personal (Urheber) | `false` | The publisher never participates. The checkbox is hidden. |
| Publisher (Verlag) | `true` | The publisher participates by default; opt out per page with Publisher not involved. |

API access differs too: a publisher account has webservice access by default, a personal account has to request Optionale Zusatzfunktionen in the T.O.M. portal before any call works.

   Permissions
-------------

Six actions are gated by Page TSconfig. See [Backend Module](https://b13.com/products/vg-wort-pro-for-typo3/documentation/backend-module#c12729) for what each one lets an editor do and what stays possible without any of them.

   Which page types get the fields
---------------------------------

By default the VG Wort fields appear on standard pages (doktype 1). Custom page types that carry reportable text are added in your site package’s `ext_localconf.php`:

     Copy

```
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['vgwort']['contentDoktypes'][] = 116;
```

  The array lives in the free extension, so your site package must declare `b13/vgwort` as a Composer dependency for it to exist when your line runs.

**This list is also what the bundle rules check.** A page whose type is not in it cannot become part of a bundled text—see [Bundled Texts](https://b13.com/products/vg-wort-pro-for-typo3/documentation/bundled-texts).

 Configuration