General settings¶
Any setting needs to be prefixed with plugin.tx_news.settings.
.
Properties
- cssFile
- format
- useStdWrap
- overrideFlexformSettingsIfEmpty
- displayDummyIfNoMedia
- detailPidDetermination
- defaultDetailPid
- hideIdList
- orderByAllowed
- analytics.social
- demandClass
- link.hrDate
- link.typesOpeningInNewWindow
- facebookLocale
- opengraph
- detail.media
- detail.errorHandling
- detail.checkPidOfNewsRecord
- detail.showMetaTags
- detail.showPrevNext
- detail.registerProperties
- detail.showSocialShareButtons
- list.media
- list.paginate
- list.rss
- search.fields
- search.splitSearchWord
cssFile¶
-
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¶
-
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
¶ 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:
settings { useStdWrap = singleNews singleNews.stdWrap.cObject = CONTENT singleNews.stdWrap.cObject { # ... } }
overrideFlexformSettingsIfEmpty¶
-
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¶
-
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
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.
detailPidDetermination¶
-
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
PageId for single news display which can also be set by using 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
:plugin.tx_news.settings.defaultDetailPid = 456
defaultDetailPid¶
-
defaultDetailPid
¶ Type: int Default: 0 Path: plugin.tx_news.settings If
detailPidDetermination
contains the keyword “default” this value is used to determine the pid used for detail links of news records.
hideIdList¶
-
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
but the exclusion is defined in TypoScript instead of the template.
Example: Hide current news in the list¶
As an example this excludes the news record of a detail action of the same page:
plugin.tx_news.settings {
useStdWrap := addToList(hideIdList)
hideIdList.cObject = TEXT
hideIdList.cObject {
data = GP:tx_news_pi1|news
}
}
orderByAllowed¶
-
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¶
Type: array Use additional code for google analytics tracking of the social functionalities.
Default:
analytics.social { facebookLike = 1 facebookShare = 1 twitter = 1 }
link.hrDate¶
-
link.hrDate
¶ Type: boolean / array Default: 0 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 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() . This example will add the day as a number without leading zeros, the month with leading zeros and the year by using 4 digits:
link = 1 link { hrDate = 1 hrDate { day = j month = m year = Y } }
This option is only applied if the build-in LinkViewHelper is used
link.typesOpeningInNewWindow¶
-
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 is used.
facebookLocale¶
-
facebookLocale
¶ Type: string
Default: en_US
Path: plugin.tx_news.settings
Facebook locale which is used to translate facebook texts.
Examples are de_DE, fr_FR, …
opengraph¶
-
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 for more information regarding the twitter cards.
Default:
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¶
-
detail.media
¶ Type: array Path: plugin.tx_news.settings Configuration for media elements in the detail view.
Attention
If you need different options like using width instead of maxWidth you need also to adopt the template files.
Default:
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 ssettings # 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¶
-
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.
- 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,404 to redirect to the page with UID 123 and error code 404.
- pageNotFoundHandler
- The page not found handler defined in the site configuration is called.
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):
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¶
If the current news record is not found, forward to page 123 with the HTTP-code 301 (moved permanently):
plugin.tx_news.settings.detail.errorHandling = redirectToPage,123,301
detail.checkPidOfNewsRecord¶
-
detail.checkPidOfNewsRecord
¶ Type: boolean Default: 0 If set, the detail view checks the incoming news record against the defined
startingpoint
.If those don’t match, the news record won’t be displayed and
detail.errorHandling
applied.
detail.showPrevNext¶
-
detail.showPrevNext
¶ Type: boolean Default: 0 If enabled, links to the previous and next news records are shown
detail.registerProperties¶
-
detail.registerProperties
¶ Type: string Path: plugin.tx_news.settings Default: keywords,title This property is currently not used.
list.media¶
-
list.media
¶ Type: array Path: plugin.tx_news.settings Configuration for media elements in the list view.
Attention
If you need different options like using width instead of maxWidth you need also to adopt the template files!
Default:
list.media { image { maxWidth = 100 maxHeight = 100 } }
list.paginate¶
-
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.
Default:
list.paginate { class = GeorgRinger\NumberedPagination\NumberedPagination itemsPerPage = 10 insertAbove = 1 insertBelow = 1 maximumNumberOfLinks = 3 }
list.rss¶
-
list.rss
¶ Type: array Path: plugin.tx_news.settings Additional settings for the RSS view.
See the RSS configuration.
Default:
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¶
-
search.fields
¶ Type: string Path: plugin.tx_news.settings Default: teaser,title,bodytext Comma separated list of fields which are used for the search.
Hint
You can also search in relations, e.g. the category title by using
categories.title
search.splitSearchWord¶
-
search.splitSearchWord
¶ Type: boolean Path: plugin.tx_news.settings Default: 0 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.
Hint
If you need a better search experience, think about using something like EXT:solr!