---
title: "General settings"
manual: "News system"
version: "main"
permalink: "https://docs.typo3.org/permalink/georgringer/news:typoscriptgeneral@main"
source: "Reference/TypoScript/GeneralSettings.rst"
rendered: "2026-09-23T19:24:09+00:00"
---

# General settings {#typoscriptgeneral}

Any setting needs to be prefixed with  `plugin.tx_news.settings.`.

**Properties**

-   [cssFile](https://docs.typo3.org/permalink/georgringer/news:cssfile@main)
-   [format](https://docs.typo3.org/permalink/georgringer/news:format@main)
-   [useStdWrap](https://docs.typo3.org/permalink/georgringer/news:usestdwrap@main)
-   [overrideFlexformSettingsIfEmpty](https://docs.typo3.org/permalink/georgringer/news:overrideflexformsettingsifempty@main)
-   [displayDummyIfNoMedia](https://docs.typo3.org/permalink/georgringer/news:displaydummyifnomedia@main)
-   [detailPidDetermination](https://docs.typo3.org/permalink/georgringer/news:detailpiddetermination@main)
-   [defaultDetailPid](https://docs.typo3.org/permalink/georgringer/news:defaultdetailpid@main)
-   [hideIdList](https://docs.typo3.org/permalink/georgringer/news:hideidlist@main)
-   [orderByAllowed](https://docs.typo3.org/permalink/georgringer/news:orderbyallowed@main)
-   [analytics.social](https://docs.typo3.org/permalink/georgringer/news:analytics-social@main)
-   [demandClass](https://docs.typo3.org/permalink/georgringer/news:demandclass@main)
-   [link.hrDate](https://docs.typo3.org/permalink/georgringer/news:link-hrdate@main)
-   [link.typesOpeningInNewWindow](https://docs.typo3.org/permalink/georgringer/news:link-typesopeninginnewwindow@main)
-   [opengraph](https://docs.typo3.org/permalink/georgringer/news:opengraph@main)
-   [detail.media](https://docs.typo3.org/permalink/georgringer/news:detail-media@main)
-   [detail.errorHandling](https://docs.typo3.org/permalink/georgringer/news:detail-errorhandling@main)
-   [detail.checkPidOfNewsRecord](https://docs.typo3.org/permalink/georgringer/news:detail-checkpidofnewsrecord@main)
-   [detail.showMetaTags](https://docs.typo3.org/permalink/georgringer/news:detail-showmetatags@main)
-   [detail.showPrevNext](https://docs.typo3.org/permalink/georgringer/news:detail-showprevnext@main)
-   [detail.showSocialShareButtons](https://docs.typo3.org/permalink/georgringer/news:detail-showsocialsharebuttons@main)
-   [list.media](https://docs.typo3.org/permalink/georgringer/news:list-media@main)
-   [list.paginate](https://docs.typo3.org/permalink/georgringer/news:list-paginate@main)
-   [list.rss](https://docs.typo3.org/permalink/georgringer/news:list-rss@main)
-   [search.fields](https://docs.typo3.org/permalink/georgringer/news:search-fields@main)
-   [search.splitSearchWord](https://docs.typo3.org/permalink/georgringer/news:search-splitsearchword@main)

## cssFile {#tscssfile}

-   **cssFile**

    -   *type:* string
    -   *Default:* Depends on the chosen layout
    -   *Path:* plugin.tx_news.settings

    Path to the css file. This is included with the Layouts.

## format {#tsformat}

-   **format**

    -   *type:* string
    -   *Default:* html
    -   *Path:* plugin.tx_news.settings

    Set a different format for the output. Use e.g. `xml` for RSS feeds.

## useStdWrap {#usestdwrap}

-   **useStdWrap**

    -   *type:* string
    -   *Default:* singleNews
    -   *Path:* plugin.tx_news.settings

    Add all TypoScript properties as a comma separated list which need
    support for stdWrap.

    As an example:

    ```typoscript
    settings {
       useStdWrap = singleNews

       singleNews.stdWrap.cObject = CONTENT
       singleNews.stdWrap.cObject {
          # ...
       }
    }
    ```

## overrideFlexformSettingsIfEmpty {#tsoverrideflexformsettingsifempty}

-   **overrideFlexformSettingsIfEmpty**

    -   *type:* string
    -   *Path:* plugin.tx_news.settings
    -   *Default:*

        cropMaxCharacters,dateField,timeRestriction,orderBy,orderDirection,
        backPid,listPid,startingpoint,
        recursive,list.paginate.itemsPerPage,list.paginate.templatePath

    The default behaviour of Extbase is to override settings from
    TypoScript by the one of the FlexForms. This is even valid if the setting is
    left empty in the FlexForms.

    Therefore you can define those settings which value should be taken from
    TypoScript if nothing is set in the plugin.

## displayDummyIfNoMedia {#tsdisplaydummyifnomedia}

-   **displayDummyIfNoMedia**

    -   *type:* boolean
    -   *Path:* plugin.tx_news.settings
    -   *Default:* 1

    If set and no preview image is defined in the record, a placeholder
    image defined via [list.media.dummyImage](https://docs.typo3.org/permalink/georgringer/news:confval-list-media-dummyimage@main) is shown.

-   **list.media.dummyImage**

    -   *type:* string
    -   *Default:* typo3conf/ext/news/Resources/Public/Images/dummy-preview-image.png

    If preview image is defined, the defined placeholder is displayed.

### Example: Display a dummy image from your sitepackage {#example-display-a-dummy-image-from-your-sitepackage}

**my_sitepackage/Configuration/TypoScript/setup.typoscript**

```typoscript
plugin.tx_news.settings {
  displayDummyIfNoMedia = 1
  list.media.dummyImage = EXT:my_sitepackage/Resources/Public/Images/News/MyPreviewImage.png
}
```

### Example: Remove dummy image from list view {#example-remove-dummy-image-from-list-view}

**my_sitepackage/Configuration/TypoScript/setup.typoscript**

```typoscript
plugin.tx_news.settings {
  displayDummyIfNoMedia = 0
}
```

## detailPidDetermination {#tsdetailpiddetermination}

-   **detailPidDetermination**

    -   *type:* string, comma separated list of keywords
    -   *Default:* "flexform, categories, default"
    -   *Path:* plugin.tx_news.settings

    This setting defines which page is used for the link to the detail view.
    3 possible options are available which processed in the given order until
    a page has been found.

    -   **flexform**

        This setting tries to get the detail page from the plugin's setting
        [detailPid](https://docs.typo3.org/permalink/georgringer/news:confval-detailpid@main) **PageId for single news display** which
        can also be set by using TypoScript:

        ```typoscript
        # If set via TypoScript, also add detailPid to the setting "overrideFlexformSettingsIfEmpty"
        plugin.tx_news.settings.detailPid = 123
        ```

    -   **categories**

        A detail page can also be defined for every category. Use the field
        **Single-view page for news from this category** for that.

    -   ****default****

        This type tries to get the value from the setting [defaultDetailPid](https://docs.typo3.org/permalink/georgringer/news:confval-defaultdetailpid@main):

        ```typoscript
        plugin.tx_news.settings.defaultDetailPid = 456
        ```

## defaultDetailPid {#tsdefaultdetailpid}

-   **defaultDetailPid**

    -   *type:* int
    -   *Default:*
    -   *Path:* plugin.tx_news.settings

    If [detailPidDetermination](https://docs.typo3.org/permalink/georgringer/news:confval-detailpiddetermination@main) contains the keyword "default" this
    value is used to determine the pid used for detail links of news records.

## hideIdList {#tshideidlist}

-   **hideIdList**

    -   *type:* string
    -   *Default:* (none)
    -   *Path:* plugin.tx_news.settings

    Define a list of ids of news articles which are excluded in the view. This
    is similar to the setting [excludeAlreadyDisplayedNews](https://docs.typo3.org/permalink/georgringer/news:confval-excludealreadydisplayednews@main) but the
    exclusion is defined in TypoScript instead of the template.

### Example: Hide current news in the list {#example-hide-current-news-in-the-list}

As an example this excludes the news record of a detail action of the
same page:

```typoscript
plugin.tx_news.settings {
   useStdWrap := addToList(hideIdList)
   hideIdList.cObject = TEXT
   hideIdList.cObject {
      data = GP:tx_news_pi1|news
   }
}

```

## orderByAllowed {#tsorderbyallowed}

-   **orderByAllowed**

    -   *type:* string
    -   *Default:* sorting,author,uid,title,teaser,author,tstamp,crdate,datetime,categories.title
    -   *Path:* plugin.tx_news.settings

    Due to restrictions of Extbase itself it is required to define all fields
    which are allowed for sorting results.

## analytics.social {#tsanalyticssocial}

-   **analytics.social**

    -   *type:* array

    Use additional code for google analytics tracking of the social
    functionalities.

    Default:

    ```typoscript
    analytics.social {
       facebookLike = 1
       facebookShare = 1
       twitter = 1
    }
    ```

## demandClass {#tsdemandclass}

-   **demandClass**

    -   *type:* string
    -   *Path:* plugin.tx_news.settings

    Overload the demand object which is used to build the queries. Read more
    about how to use and extend [demands](https://docs.typo3.org/permalink/georgringer/news:demands@main).

## link.hrDate {#tslinkhrdate}

-   **link.hrDate**

    -   *type:* boolean / array
    -   *Default:*
    -   *Path:* plugin.tx_news.settings

    The url to a single news record contains only the uid of the record.
    Sometimes it is nice to have the date in url too (for example
    `https://example.org/news/2021/8/news-title.html`).

    If this setting is enabled parameters for year, month and day are added
    to the URL. A [Routing configuration](https://docs.typo3.org/permalink/georgringer/news:routing@main) can then be used
    to create a human readable date like the example above.

    Each parameter (day, month, year) can be separately configured by using
    the full options of the [php function date()](http://at2.php.net/manual/en/function.date.php) . This example will
    add the day as a number without leading zeros, the month with leading
    zeros and the year by using 4 digits:

    ```typoscript
    link = 1
    link {
       hrDate = 1
       hrDate {
          day = j
          month = m
          year = Y
       }
    }

    ```

    This option is only applied if the build-in
    [LinkViewHelper](https://docs.typo3.org/permalink/georgringer/news:viewhelperlink@main) is used

## link.typesOpeningInNewWindow {#tslinktypesopeninginnewwindow}

-   **link.typesOpeningInNewWindow**

    -   *type:* string
    -   *Default:* 2
    -   *Path:* plugin.tx_news.settings

    Comma separated list of news types which open with `target="_blank"`
    Default is 2 which is the news type "Link to external page".

    This option is only applied if the build-in
    [LinkViewHelper](https://docs.typo3.org/permalink/georgringer/news:viewhelperlink@main) is used.

## opengraph {#tsopengraph}

-   **opengraph**

    -   *type:* array
    -   *Path:* plugin.tx_news.settings

    Additional open graph properties can be defined using TypoScript.
    Those are included in the the template partial
    `EXT:news/Resources/Private/Partials/Detail/Opengraph.html`.

    The most important properties are filled automatically:

    -   **og:title**

        is filled with the field **Alternative title** or if that is empty
        with the **Title**.

    -   **og:description**

        is filled with the field **Description** or if that is empty with
        the **Teaser**.

    -   **og:image**

        is filled with the first preview image.

    -   **og:url**

        is filled with the current url.

    Check out [https://dev.twitter.com/cards/getting-started](https://dev.twitter.com/cards/getting-started) for more information
    regarding the twitter cards.

    Default:

    ```typoscript
    opengraph {
       site_name =  {$plugin.tx_news.opengraph.site_name}
       type = article
       locale =
       admins =
       twitter {
          card = {$plugin.tx_news.opengraph.twitter.card}
          site = {$plugin.tx_news.opengraph.twitter.site}
          creator = {$plugin.tx_news.opengraph.twitter.creator}
       }
    }
    ```

## detail.media {#tsdetailmedia}

-   **detail.media**

    -   *type:* array
    -   *Path:* plugin.tx_news.settings

    Configuration for media elements in the detail view.

    > [!WARNING]
    > **Attention**
    >
    > If you need different options like using **width** instead of
    > **maxWidth** you need also to adopt the template files.

    Default:

    ```typoscript
    detail.media {
       image {
          maxWidth = 282
          maxHeight =

          # If using fluid_styled_content
          lightbox {
             enabled = {$styles.content.textmedia.linkWrap.lightboxEnabled}
             class = {$styles.content.textmedia.linkWrap.lightboxCssClass}
             width = {$styles.content.textmedia.linkWrap.width}
             height = {$styles.content.textmedia.linkWrap.height}
          }
          # If using css_styled_content, use those settings
          # lightbox {
          #    enabled = {$styles.content.imgtext.linkWrap.lightboxEnabled}
          #    class = {$styles.content.imgtext.linkWrap.lightboxCssClass}
          #    width = {$styles.content.imgtext.linkWrap.width}
          #    height = {$styles.content.imgtext.linkWrap.height}
          #    rel = lightbox[myImageSet]
          # }
       }

       video {
          width = 282
          height = 300
       }
    }
    ```

## detail.errorHandling {#tsdetailerrorhandling}

-   **detail.errorHandling**

    -   *type:* string
    -   *Path:* plugin.tx_news.settings
    -   *Default:* "showStandaloneTemplate,EXT:news/Resources/Private/Templates/News/DetailNotFound.html,404"

    If no news entry is found, it is possible to use various types of error handling.

    > [!IMPORTANT]
    > If routing is used, read about potential problems and how to avoid
    > those: [Fallbacks & Pitfalls](https://docs.typo3.org/permalink/georgringer/news:routing-fallbacks@main)!

    -   **showStandaloneTemplate**

        A template is rendered. The syntax is
        `showStandaloneTemplate,<path>,<errorCode>`, for example
        `showStandaloneTemplate,EXT:news/Resources/Private/Templates/News/DetailNotFound.html,404`

    -   **redirectToListView**

        Redirect to the list view on the same page.

    -   **redirectToPage**

        Redirect to any page by using the syntax redirectToPage,\<pageid>,\<status>.
        This means e.g. redirectToPage,123,301 to redirect to the page with UID 123 and error code 301.

        > [!TIP]
        > **Hint**
        >
        > Note, that it is not possible to redirect to a page with a 404 error code.

    -   **pageNotFoundHandler**

        The page not found handler defined in the site configuration is called.

### Example: Show a custom not found template {#example-show-a-custom-not-found-template}

If the current news record is not found, show the custom template instead and
return the HTTP-code `404` (not found):

```typoscript
plugin.tx_news.settings.detail.errorHandling = showStandaloneTemplate,EXT:my_sitepackage/Resources/Private/Templates/NotFound.html,404

```

### Example: Redirect to page 123 if news record is not found {#example-redirect-to-page-123-if-news-record-is-not-found}

If the current news record is not found, forward to page 123 with
the HTTP-code `301` (moved permanently):

```typoscript
plugin.tx_news.settings.detail.errorHandling = redirectToPage,123,301

```

## detail.checkPidOfNewsRecord {#tsdetailcheckpidofnewsrecord}

-   **detail.checkPidOfNewsRecord**

    -   *type:* boolean
    -   *Default:*

    If set, the detail view checks the incoming news record against the defined
    [startingpoint](https://docs.typo3.org/permalink/georgringer/news:confval-startingpoint@main).

    If those don't match, the news record won't be displayed and
    [detail.errorHandling](https://docs.typo3.org/permalink/georgringer/news:confval-detail-errorhandling@main) applied.

## detail.showMetaTags {#tsdetailshowmetatags}

-   **detail.showMetaTags**

    -   *type:* boolean
    -   *Path:* plugin.tx_news.settings
    -   *Default:* 1

    If enabled, the meta tags including title, description and various
    open graph tags (defined in [opengraph](https://docs.typo3.org/permalink/georgringer/news:confval-opengraph@main)) are rendered.

## detail.showPrevNext {#tsdetailshowprevnext}

-   **detail.showPrevNext**

    -   *type:* boolean
    -   *Default:*

    If enabled, links to the previous and next news records are shown

## detail.showSocialShareButtons {#tsdetailshowsocialsharebuttons}

-   **detail.showSocialShareButtons**

    -   *type:* boolean
    -   *Default:* 1

    If the extension [rx_shariff](https://extensions.typo3.org/extension/rx_shariff)
    is installed and this option is enabled,
    the social share functionality provided by rx_shariff is shown.

    You can install this extension with composer:

    **bash**

    ```bash
    composer req reelworx/rx-shariff
    ```

## list.media {#list-media}

-   **list.media**

    -   *type:* array
    -   *Path:* plugin.tx_news.settings

    Configuration for media elements in the list view.

    > [!WARNING]
    > **Attention**
    >
    > If you need different options like using **width** instead of **maxWidth** you need also
    > to adopt the template files!

    Default:

    ```typoscript
    list.media {
       image {
          maxWidth = 100
          maxHeight = 100
       }
    }
    ```

## list.paginate {#tslistpaginate}

-   **list.paginate**

    -   *type:* array
    -   *Path:* plugin.tx_news.settings

    EXT:news uses a custom ViewHelper to render the pagination.

    The following settings are available:

    -   **class**

        The class that should be used for the pagination

    -   **itemsPerPage**

        Define how many items are shown on one page.

    -   **insertAbove**

        Set it to `0` to hide the pagination before the actual news items.

    -   **insertBelow**

        Set it to `0` to hide the pagination after the actual news items.

    -   **maximumNumberOfLinks**

        If set, not all pages of the pagination are shown but only the given amount. Imagine
        1000 news records and 10 items per page. This would result in 100
        links in the frontend.

        > [!TIP]
        > **Hint**
        >
        > EXT:numbered_pagination must be installed for this setting to work.

    Default:

    ```typoscript
    list.paginate {
       class = GeorgRinger\NumberedPagination\NumberedPagination
       itemsPerPage = 10
       insertAbove = 1
       insertBelow = 1
       maximumNumberOfLinks = 3
    }
    ```

## list.rss {#tslistrss}

-   **list.rss**

    -   *type:* array
    -   *Path:* plugin.tx_news.settings

    Additional settings for the RSS view.

    See the [RSS configuration](https://docs.typo3.org/permalink/georgringer/news:rss@main).

    Default:

    ```typoscript
    rss {
       channel {
          title = {$plugin.tx_news.rss.channel.title}
          description = {$plugin.tx_news.rss.channel.description}
          language = {$plugin.tx_news.rss.channel.language}
          copyright = {$plugin.tx_news.rss.channel.copyright}
          generator = {$plugin.tx_news.rss.channel.generator}
          link = {$plugin.tx_news.rss.channel.link}
       }
    }
    ```

## search.fields {#tssearchfields}

-   **search.fields**

    -   *type:* string
    -   *Path:* plugin.tx_news.settings
    -   *Default:* teaser,title,bodytext

    Comma separated list of fields which are used for the search.

    > [!TIP]
    > **Hint**
    >
    > You can also search in relations, e.g. the category title by using
    > `categories.title` or `contentElements.header` to search in related content elements.
    >
    > Be aware that searching in relations might create big queries and makes the search even slower.
    > Use ke_search or solr as alternatives!

## search.splitSearchWord {#search-splitsearchword}

-   **search.splitSearchWord**

    -   *type:* boolean
    -   *Path:* plugin.tx_news.settings
    -   *Default:*

    If set to `1`, the search subject will be split by spaces and it will
    not only find the phrase but also if the search terms are scattered
    in a field.

    As an example: Searching for *hello world* will give you as result also
    the news item with the title `hello the world`. The search terms must be
    found in the same field, which means that a news item with the world
    *hello* in the `title` and the word *world* in the bodytext won't be found.

    > [!TIP]
    > **Hint**
    >
    > If you need a better search experience, think about using something like EXT:solr!
