General settings¶
Any setting needs to be prefixed with plugin.tx_news.settings.
.
Properties
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¶
- 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 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¶
- 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 exampleshowStandaloneTemplate,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.
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¶
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.
Hint
EXT:numbered_pagination must be installed for this setting to work.
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 thetitle
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!