---
title: "Plugin Reference"
manual: "Kitodo.Presentation"
version: "dev-demo"
source: "Plugins/Index.rst"
rendered: "2026-09-27T16:21:24+00:00"
---

# Plugin Reference {#configuration}

-   [Kitodo Plugin Reference](#kitodo-plugin-reference)

## Kitodo Plugin Reference {#kitodo-plugin-reference}

### Common Settings {#common-settings}

#### Fluid Template Configuration {#fluidplugins}

As of Kitodo.Presentation 4.0 the Fluid rendering engine is used. The former
marker templates for plugins are not supported anymore.

Now, all HTML markup is done in Fluid. To use different templates, you have
to overload the templates by the common TYPO3 way.

The following TypoScript defines additional paths inside an "example" extension:

```php
plugin.tx_dlf {
   view {
      templateRootPaths {
         10 = EXT:example/Resources/Private/Plugins/Kitodo/Templates
      }
      partialRootPaths {
         10 = EXT:example/Resources/Private/Plugins/Kitodo/Partials
      }
   }
}

```

In this example, you place the customized fluid template into this file:

```php
EXT:example/Resources/Private/Plugins/Kitodo/Partials/Navigation/Main.html

```

### Annotation {#annotation}

The Annotation plugin lists, for the current page, the annotations that an
external annotation server has stored for the document. The annotations are
fetched through the IIIF Annotation API.

`plugin.tx_dlf_annotation.settings.`

| Property | Data type | Default | Description |
| --- | --- | --- | --- |
| apiUrl | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  | Base URL of the IIIF annotation server that provides the annotations for the documents. If it is empty, no annotations are requested. |

### Basket {#basket}

`plugin.tx_dlf_basket.`

| Property | Data type | Default |
| --- | --- | --- |
| pregeneration | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| pdfgenerate | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |
| pdfdownload | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |
| pdfprint | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |
| pdfparams | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | ##docId##,##startpage##,##endpage##,##startx##,##starty##,##endx##,##endy##,##rotation## |
| pdfparamseparator | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | `*` |
| basketGoToButton | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| targetBasket | `t3tsref:data-type-page-id` |  |

### Calendar {#calendar}

The calendar plugin may be used with newspaper and ephemeras (periodical
published media). The plugin shows itself an overview of all available
years or all issues in a calendar view of a selected year.

You can't place the plugin together with the pageview plugin on one page.
But you can use TypoScript conditions on this page to select the proper
plugin e.g by setting some specific FLUID variables.

This is an example usage of the TypoScript condition ("getDocumentType"):

```php
[getDocumentType({$plugin.tx_dlf.persistence.storagePid}) === 'ephemera' or getDocumentType({$plugin.tx_dlf.persistence.storagePid}) === 'newspaper']
page.10.variables {
    isNewspaper = TEXT
    isNewspaper.value = newspaper_anchor
}
[END]

[getDocumentType({$plugin.tx_dlf.persistence.storagePid}) === 'year']
page.10.variables {
    isNewspaper = TEXT
    isNewspaper.value = newspaper_year
}
[END]

[getDocumentType({$plugin.tx_dlf.persistence.storagePid}) === 'issue']
page.10.variables {
    isNewspaper = TEXT
    isNewspaper.value = newspaper_issue
}
[END]

```

The `{$plugin.tx_dlf.persistence.storagePid}` is a TypoScript constant holding the Kitodo.Presentation storage pid.

This way, the FLUID variable "isNewspaper" is set according to the given
value. Inside the FLUID template it's possible to switch to the right plugin
now.

`plugin.tx_dlf_calendar.settings.`

| Property | Data type | Default |
| --- | --- | --- |
| initialDocument | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |
| showEmptyYears | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| showEmptyMonths | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 |

### Collection {#collection}

The collection plugin shows one collection, all collections or selected collections. It can be used to display the list
of collections or the contents of a single collection. The plugin is configured in the TypoScript and in the FlexForm.

#### TypoScript Configuration {#typoscript-configuration}

`plugin.tx_dlf_collection.settings.list.paginate`

| Property | Data type | Default | Description |
| --- | --- | --- | --- |
| itemsPerPage | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 25 |  |
| insertAbove | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 1 |  |
| insertBelow | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 1 |  |
| maximumNumberOfLinks | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 10 |  |
| section | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | showResults |  |

#### FlexForm Configuration {#flexform-configuration}

| collections | `t3tsref:data-type-list` |  |
| --- | --- | --- |
| solrcore | `t3tsref:data-type-list` |  |
| showUserDefined | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |
| showSingle | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| showOverview | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 |
| showDocuments | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 |
| randomize | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| targetPid | `t3tsref:data-type-page-id` |  |
| targetFeed | `t3tsref:data-type-page-id` |  |

### Embedded 3D Viewer {#embedded-3d-viewer}

The embedded3dviewer plugin renders an iFrame in which the configured 3D viewer displays the model.

`plugin.tx_dlf_embedded3dviewer.settings.`

#### FlexForm Configuration {#flexform-configuration-1}

| Property | Data type | Description |
| --- | --- | --- |
| document | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | The URL of the XML document which contains the model. |
| model | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | The URL of the 3D model. |
| viewer | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | Override the default viewer from the extension configuration (see [Configuration](../Developers/Embedded3DViewer.html#Embedded%203D%20Viewer%20Configuration)) with a supported viewer (from the "dlf_3d_viewers" directory). |

### Feeds {#feeds}

The feeds plugin renders a RSS 2.0 feed of last updated documents of all or a specific collection.

The following steps are necessary to activate the plugin:

1.  Create a new page "Feed" with slug "feed".
1.  Create an extension template on this page and include the TypoScript template of the feeds plugin.
1.  Place the "Kitodo Feeds" plugin on it and configure it for your needs.

The TypoScript part is necessary to switch the page rendering to a different page object.

`plugin.tx_dlf_feeds.settings.`

| Property | Data type | Default |
| --- | --- | --- |
| collections | `t3tsref:data-type-list` |  |
| excludeOtherCollections | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| library | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |
| limit | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 50 |
| prependSuperiorTitle | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| targetPid | `t3tsref:data-type-page-id` |  |
| title | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |
| description | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |

### List View {#list-view}

#### TypoScript Configuration {#typoscript-configuration-1}

`plugin.tx_dlf_listview.settings.list.paginate`

| Property | Data type | Default |
| --- | --- | --- |
| itemsPerPage | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 25 |
| insertAbove | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 1 |
| insertBelow | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 1 |
| maximumNumberOfLinks | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 10 |
| section | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | showResults |

#### FlexForm Configuration {#flexform-configuration-2}

| Property | Data type | Default |
| --- | --- | --- |
| limit | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 25 |
| targetPid | `t3tsref:data-type-page-id` |  |
| getTitle | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| getStructurePath | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| basketButton | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| targetBasket | `t3tsref:data-type-page-id` |  |

### Media Player {#media-player}

The MediaPlayer plugin is only active if the selected document has valid audio or video file use groups (useGroupsAudio, useGroupsVideo).

`plugin.tx_dlf_mediaplayer.settings.`

| Property | Data type | Default | Description |
| --- | --- | --- | --- |
| excludeOther | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 | Show only documents from the selected page. |
| elementId | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx-dlf-media | ID value of the HTML element for the media player. |

### Metadata {#metadata}

`plugin.tx_dlf_metadata.settings.`

| Property | Data type | Default | Description |
| --- | --- | --- | --- |
| excludeOther | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 | Show only documents from the selected page. |
| linkTitle | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 |  |
| targetPid | `t3tsref:data-type-page-id` |  |  |
| getTitle | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 |  |
| showFull | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 |  |
| rootline | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |  |
| separator | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | `#` |  |

### Multi View {#multiview}

The Multi View plugin opens a grid in which several documents can be shown
side by side, each embedded in its own frame. The documents and their pages
are selected through the request parameters `tx_dlf[multiview]` and
`tx_dlf[multiViewSource][<n>]`. A URL is normally not assembled by hand:
the *Add Source* tool of the [Toolbox](#toolbox) (`multiViewAddSourceTool`)
appends the current document to the grid. The grid layout (position and size of
each frame) is created with [Gridstack](https://gridstackjs.com/) and is
remembered in a cookie, so it is preserved for the current user.

> [!NOTE]
> When `tx_dlf[multiview]` is set, the gridstack and Multi View
> JavaScript are loaded and the Page View plugin is expected to be embedded
> in a frame rather than rendered directly on the page. The demo site
> (see [Site](../Demo/Site.html#demo-site)) combines the two plugins this way.

#### TypoScript Configuration {#typoscript-configuration-2}

`plugin.tx_dlf_multiview.settings.`

| Property | Data type | Default | Description |
| --- | --- | --- | --- |
| multiDocumentTypes | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  | Comma separated list of structure types for which the current document is expanded into its child documents and added to the grid in one step. Leave empty to compare independent documents side by side. |

### Navigation {#navigation}

This plugin adds a navigation to the page view for navigating through the pages of a document. The navigation buttons are displayed in the order included in configuration.
Features `pagesBackward` and `pagesForward` offer adding multiple navigation buttons grouped together.

#### TypoScript Configuration {#typoscript-configuration-3}

`plugin.tx_dlf_navigation.settings.`

| Property | Data type | Default | Values |
| --- | --- | --- | --- |
| features | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | By default all features are activated. The selection is stored as comma separated list. doublePage,pageFirst,pageBack,pageStepBack,pageSelect,pageForward,pageStepForward,pageLast,listView,measureForward,measureBack,documentBack,documentForward | -   documentBack -   documentForward -   doublePage -   listView -   measureBack -   measureForward -   pageBack -   pageFirst -   pageForward -   pageLast -   pageSelect -   pageStepBack -   pageStepForward -   pagesBackward -   pagesForward |
| pageStep | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 5 |  |
| targetPid | `t3tsref:data-type-page-id` |  |  |

### OAI-PMH {#oai-pmh}

#### TypoScript Configuration {#typoscript-configuration-4}

`plugin.tx_dlf_oaipmh.settings.`

| Property | Data type | Default |
| --- | --- | --- |
| library | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |
| solrcore | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |
| limit | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 5 |
| solrLimit | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 50000 |
| expired | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 1800 |
| showUserDefined | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| stylesheet | [resource](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-resource) |  |

### Page Grid {#page-grid}

#### TypoScript Configuration {#typoscript-configuration-5}

`plugin.tx_dlf_pagegrid.settings.`

| Property | Data type | Default |  |
| --- | --- | --- | --- |
| paginate.itemsPerPage | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 10 |  |
| placeholder | [resource](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-resource) | (no default) | Image shown instead of a thumbnail for pages that have no thumbnail. |
| targetPid | `t3tsref:data-type-page-id` |  |  |

### Page View {#page-view}

#### TypoScript Configuration {#typoscript-configuration-6}

`plugin.tx_dlf_pageview.settings.`

| Property | Data type | Default | Description |
| --- | --- | --- | --- |
| excludeOther | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 | Show only documents from the selected page. |
| features | `t3tsref:data-type-list` | (none) | OpenLayers controls to create, comma separated. Valid values: `OverviewMap`, `ZoomPanel`. |
| elementId | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx-dlf-map | ID value of the HTML element for the document images. |
| progressElementId | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx-dlf-page-progress | ID value of the HTML element for the page progress bar. |
| useInternalProxy | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  | Serve the page images through the extension's own proxy instead of linking to the original image URLs. |
| basketButton | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  | Show an "add to basket" button for the current page. |
| basket.crop | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  | Enable the cropping tool, which lets the user select a region of the page to add to the basket. Only available when `basketButton` is set. |
| basket.magnifier | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  | Enable the magnifier, which shows a zoomed view of the page at the mouse location. Only available when `basketButton` is set. |
| targetBasket | `t3tsref:data-type-page-id` |  |  |
| multiViewType | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  | Optional type for the Multi-View feature, see [Multi View](#multiview). |

### Search {#search}

#### TypoScript Configuration {#typoscript-configuration-7}

`plugin.tx_dlf_search.settings.list.paginate`

| Property | Data type | Default |
| --- | --- | --- |
| itemsPerPage | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 25 |
| insertAbove | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 1 |
| insertBelow | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 1 |
| maximumNumberOfLinks | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 10 |
| section | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | showResults |

#### FlexForm Configuration {#flexform-configuration-3}

| Property | Data type | Default |
| --- | --- | --- |
| fulltext | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| fulltextPreselect | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| datesearch | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| solrcore | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |
| extendedSlotCount | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |
| extendedFields | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |
| searchIn | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |
| collections | `t3tsref:data-type-list` |  |
| facets | `t3tsref:data-type-list` |  |
| facetCollections | `t3tsref:data-type-list` |  |
| limitFacets | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) | 15 |
| resetFacets | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| sortingFacets | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |
| suggest | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 |
| showLogicalPageField | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| showSingleResult | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |
| targetPid | `t3tsref:data-type-page-id` |  |
| targetPidPageView | `t3tsref:data-type-page-id` |  |

### Statistics {#statistics}

#### TypoScript Configuration {#typoscript-configuration-8}

`plugin.tx_dlf_statistics.settings.`

| Property | Data type | Default |
| --- | --- | --- |
| collections | `t3tsref:data-type-list` |  |
| description | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |

### Table Of Contents {#table-of-contents}

Table of Contents plugin renders a table of contents for the current document. The table of contents is generated
based on the structure of the document.

#### TypoScript Configuration {#typoscript-configuration-9}

`plugin.tx_dlf_tableofcontents.settings.`

| Property | Data type | Default | Description |
| --- | --- | --- | --- |
| excludeOther | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) | 1 | Show only documents from the selected page. |
| basketButton | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |  |
| showFull | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  |  |
| targetBasket | `t3tsref:data-type-page-id` |  |  |
| targetPid | `t3tsref:data-type-page-id` |  |  |
| titleReplacements | `t3tsref:data-type-list` | -   **0 {** type = issue fields = type,year } 1 { type = volume fields = type,volume } | List containing types for which title should be replaced when the label is empty. The defined fields are used for replacement. |

### Toolbox {#toolbox}

Toolbox Plugin is a plugin which can be used to display a selection of tools for the current page. The available tools are configured in the TypoScript.

'tools' is a required property which must contain at least one of the supported tools. The plugin will only be rendered if at least one tool is configured and supported for the current page.

#### TypoScript Configuration {#typoscript-configuration-10}

`plugin.tx_dlf_toolbox.settings.`

| Property | Data type | Default | Values |
| --- | --- | --- | --- |
| tools | `t3tsref:data-type-string` |  | -   annotationTool -   audioVideoTool -   fulltextDownloadTool -   fulltextTool -   imageDownloadTool -   imageManipulationTool -   modelDownloadTool -   multiViewAddSourceTool -   pdfDownloadTool -   rotationTool -   searchInDocumentTool -   scoreTool -   viewerSelectionTool -   zoomTool |
| showAsList | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  | 0: show tools as single \<li> elements 1: show tools as list inside the \<ul> element |
| solrCoreUid | [integer](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-integer) |  |  |

#### Tools {#tools}

All tools are rendered by the single `dlf_toolbox` plugin and are
configured in the same `plugin.tx_dlf_toolbox.settings` block:
the `tools` property selects which tools are shown (comma separated)
and the individual tool options follow as sibling properties. There is no
separate `plugin.tx_dlf_<tool>.` object per tool.

##### Audio Video Tool {#audio-video-tool}

This tool loads the buttons for the audio label image, equalizer and marker table.

**Example configuration for Audio Video Tool**

```typoscript
plugin.tx_dlf_toolbox {
    settings {
        tools = audioVideoTool
    }
}
```

##### Fulltext Tool {#fulltext-tool}

This tool adds an activation link for fulltext to the toolbox. If no fulltext is available for the current page, a span-tag is rendered instead.

The default behavior is to show the fulltext after click on the toggle link. There is a TypoScript configuration to show the fulltext initially.

The following settings are part of `plugin.tx_dlf_toolbox.settings.`:

| Property | Data type | Default | Values |
| --- | --- | --- | --- |
| activateFullTextInitially | [boolean](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-boolean) |  | 0: show fulltext after click on toggle link 1: show fulltext on document load |
| fullTextScrollElement | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | (no default) |  |

The fulltext is fetched and rendered by JavaScript into the `<div id="tx-dlf-toolbox-fulltext-selection">` of the pageview plugin.

**Please note**: To allow JavaScript fetching the fulltext, the [CORS headers](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) must be configured appropriate on the providing webserver.

**Example configuration for Fulltext Tool**

```typoscript
plugin.tx_dlf_toolbox {
    settings {
        tools = fulltextTool
        activateFullTextInitially = 0
        fullTextScrollElement = html, body
        showAsList = 0
    }
}
```

##### Image Tool {#image-tool}

This tool adds buttons for rotating, zooming and manipulating the image to the toolbox and display them as list of elements.

**Example configuration for Image Tool**

```typoscript
plugin.tx_dlf_toolbox {
    settings {
        tools = rotationTool,zoomTool,imageManipulationTool
        showAsList = 1
    }
}
```

##### Model Download Tool {#model-download-tool}

This tool makes it possible to extract the model URL from the METS file or use the provided model parameter to provide a download URL.

The following settings are part of `plugin.tx_dlf_toolbox.settings.`:

**Example configuration for Model Download Tool**

```typoscript
plugin.tx_dlf_toolbox {
    settings {
        tools = modelDownloadTool
    }
}
```

##### Score Tool {#score-tool}

This tool extracts the score from the `SCORE` file group and visualizes the MEI score of current page using [Verovio](https://www.verovio.org/index.xhtml).

The provided MIDI output of `Verovio` is played using the [html-midi-player](https://cifkao.github.io/html-midi-player/)

`plugin.tx_dlf_toolbox.settings.`

| Property | Data type | Values |
| --- | --- | --- |
| midiPlayerSoundFont | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | -   `default` or if the property is not set, the MIDI player will use a simple oscillator synth -   `built-in` or if the property is empty, the built-in sound font (`https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus`) of MIDI player is used -   Custom URL to sound font e.g. `https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus` |

**Example configuration for Score Tool**

```typoscript
plugin.tx_dlf_toolbox {
    settings {
        tools = scoreTool
        midiPlayerSoundFont = default
    }
}
```

##### Search in Document Tool {#search-in-document-tool}

This tool adds a possibility to search all appearances of the phrase in the currently displayed document.

The following settings are part of `plugin.tx_dlf_toolbox.settings.`:

| Property | Data type | Default | Values |
| --- | --- | --- | --- |
| searchUrl | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) |  |  |
| documentIdUrlSchema | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | empty | [https://host.de/items/](https://host.de/items/)*id*/record - example value |
| idInputName | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx_dlf\[id\] |  |
| queryInputName | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx_dlf\[query\] |  |
| startInputName | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx_dlf\[start\] |  |
| pageInputName | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx_dlf\[page\] |  |
| highlightWordInputName | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx_dlf\[highlight_word\] |  |
| encryptedInputName | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | tx_dlf\[encrypted\] |  |

**Example configuration for Search In Document Tool**

```typoscript
plugin.tx_dlf_toolbox {
    settings {
        tools = searchInDocumentTool
        idInputName = tx_dlf[id]
        pidInputName = tx_dlf[pid]
        queryInputName = tx_dlf[query]
        startInputName = tx_dlf[start]
        pageInputName = tx_dlf[page]
        highlightWordInputName = tx_dlf[highlight_word]
        encryptedInputName = tx_dlf[encrypted]
    }
}
```

##### Viewer Selection Tool {#viewer-selection-tool}

This tool can display a selection list of configured 3D viewers (from the "dlf_3d_viewers" directory see [Setup](../Developers/Embedded3DViewer.html#Embedded%203D%20Viewer%20Setup)) that support the current model.

The model URL is extracted from the METS file or taken from the provided model parameter. The extension of the model is extracted from this URL and compared with the supported model formats specified in the respective viewer configuration.

**Example configuration for Viewer Selection Tool**

```typoscript
plugin.tx_dlf_toolbox {
    settings {
        tools = viewerSelectionTool
    }
}
```

### Validation Form {#plugin-validation-form}

The plugin renders an input field where a METS URL can be entered. After submission, the document is loaded and validated against the [DOMDocumentValidation Middleware](../Developers/Validation.html#DOMDocumentValidation%20Middleware). For the validation to work, a corresponding configuration (see [Configuration](../Developers/Validation.html#DOMDocumentValidation%20Middleware%20Configuration)) must be present in TypoScript, and the type of this configuration must be provided to the plugin as a required parameter.

`plugin.tx_dlf_validationform.`

| Property | Data type | Description |
| --- | --- | --- |
| type | [string](http://docs.typo3.org/typo3cms/TyposcriptReference/Syntax/StringFormats/Index.html#data-type-string) | Validation configuration type for DOMDocument validation |
