Initial commit - Typo3 11.5.41
This commit is contained in:
@@ -0,0 +1,677 @@
|
||||
.. include:: /Includes.rst.txt
|
||||
|
||||
.. highlight:: typoscript
|
||||
.. _typoscriptGeneral:
|
||||
|
||||
================
|
||||
General settings
|
||||
================
|
||||
|
||||
Any setting needs to be prefixed with :typoscript:`plugin.tx_news.settings.`.
|
||||
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. contents:: Properties
|
||||
:depth: 1
|
||||
:local:
|
||||
|
||||
.. _tsCssFile:
|
||||
|
||||
cssFile
|
||||
=======
|
||||
|
||||
.. confval:: 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.
|
||||
|
||||
.. _tsFormat:
|
||||
|
||||
format
|
||||
======
|
||||
|
||||
.. confval:: format
|
||||
|
||||
:type: string
|
||||
:Default: html
|
||||
:Path: plugin.tx_news.settings
|
||||
|
||||
Set a different format for the output. Use e.g. :code:`xml` for RSS feeds.
|
||||
|
||||
useStdWrap
|
||||
==========
|
||||
|
||||
.. confval:: 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 {
|
||||
# ...
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.. _tsOverrideFlexformSettingsIfEmpty:
|
||||
|
||||
overrideFlexformSettingsIfEmpty
|
||||
===============================
|
||||
|
||||
|
||||
.. confval:: 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.
|
||||
|
||||
.. _tsDisplayDummyIfNoMedia:
|
||||
|
||||
displayDummyIfNoMedia
|
||||
=====================
|
||||
|
||||
|
||||
.. confval:: 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 :confval:`list.media.dummyImage` is shown.
|
||||
|
||||
.. confval:: 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
|
||||
----------------------------------------------------
|
||||
|
||||
.. code-block:: typoscript
|
||||
:caption: my_sitepackage/Configuration/TypoScript/setup.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
|
||||
------------------------------------------
|
||||
|
||||
.. code-block:: typoscript
|
||||
:caption: my_sitepackage/Configuration/TypoScript/setup.typoscript
|
||||
|
||||
plugin.tx_news.settings {
|
||||
displayDummyIfNoMedia = 0
|
||||
}
|
||||
|
||||
.. _tsDetailPidDetermination:
|
||||
|
||||
detailPidDetermination
|
||||
======================
|
||||
|
||||
.. confval:: 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
|
||||
:confval:`detailPid` :guilabel:`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 :confval:`defaultDetailPid`::
|
||||
|
||||
plugin.tx_news.settings.defaultDetailPid = 456
|
||||
|
||||
.. _tsDefaultDetailPid:
|
||||
|
||||
defaultDetailPid
|
||||
================
|
||||
|
||||
.. confval:: defaultDetailPid
|
||||
|
||||
:type: int
|
||||
:Default: 0
|
||||
:Path: plugin.tx_news.settings
|
||||
|
||||
If :confval:`detailPidDetermination` contains the keyword "default" this
|
||||
value is used to determine the pid used for detail links of news records.
|
||||
|
||||
.. _tsHideIdList:
|
||||
|
||||
hideIdList
|
||||
==========
|
||||
|
||||
.. confval:: 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 :confval:`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
|
||||
}
|
||||
}
|
||||
|
||||
.. _tsOrderByAllowed:
|
||||
|
||||
orderByAllowed
|
||||
==============
|
||||
|
||||
.. confval:: 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.
|
||||
|
||||
.. _tsAnalyticsSocial:
|
||||
|
||||
analytics.social
|
||||
================
|
||||
|
||||
.. confval:: analytics.social
|
||||
|
||||
:type: array
|
||||
|
||||
Use additional code for google analytics tracking of the social
|
||||
functionalities.
|
||||
|
||||
Default::
|
||||
|
||||
analytics.social {
|
||||
facebookLike = 1
|
||||
facebookShare = 1
|
||||
twitter = 1
|
||||
}
|
||||
|
||||
.. _tsDemandClass:
|
||||
|
||||
demandClass
|
||||
===========
|
||||
|
||||
.. confval:: 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 :ref:`demands <demands>`.
|
||||
|
||||
.. _tsLinkHrDate:
|
||||
|
||||
link.hrDate
|
||||
===========
|
||||
|
||||
.. confval:: 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
|
||||
:samp:`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 :ref:`Routing configuration <routing>` 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::
|
||||
|
||||
link = 1
|
||||
link {
|
||||
hrDate = 1
|
||||
hrDate {
|
||||
day = j
|
||||
month = m
|
||||
year = Y
|
||||
}
|
||||
}
|
||||
|
||||
This option is only applied if the build-in
|
||||
:ref:`LinkViewHelper <viewHelperLink>` is used
|
||||
|
||||
.. _tsLinkTypesOpeningInNewWindow:
|
||||
|
||||
link.typesOpeningInNewWindow
|
||||
============================
|
||||
|
||||
.. confval:: link.typesOpeningInNewWindow
|
||||
|
||||
:type: string
|
||||
:Default: 2
|
||||
:Path: plugin.tx_news.settings
|
||||
|
||||
Comma separated list of news types which open with :html:`target="_blank"`
|
||||
Default is 2 which is the news type "Link to external page".
|
||||
|
||||
This option is only applied if the build-in
|
||||
:ref:`LinkViewHelper <viewHelperLink>` is used.
|
||||
|
||||
.. _tsFacebookLocale:
|
||||
|
||||
facebookLocale
|
||||
==============
|
||||
|
||||
.. confval:: 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, ...
|
||||
|
||||
|
||||
.. _tsOpengraph:
|
||||
|
||||
opengraph
|
||||
=========
|
||||
|
||||
.. confval:: 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
|
||||
:file:`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}
|
||||
}
|
||||
}
|
||||
|
||||
.. _tsDetailMedia:
|
||||
|
||||
detail.media
|
||||
============
|
||||
|
||||
.. confval:: 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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.. _tsDetailErrorHandling:
|
||||
|
||||
detail.errorHandling
|
||||
====================
|
||||
|
||||
.. confval:: 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
|
||||
|
||||
|
||||
.. _tsDetailCheckPidOfNewsRecord:
|
||||
|
||||
detail.checkPidOfNewsRecord
|
||||
===========================
|
||||
|
||||
.. confval:: detail.checkPidOfNewsRecord
|
||||
|
||||
:type: boolean
|
||||
:Default: 0
|
||||
|
||||
If set, the detail view checks the incoming news record against the defined
|
||||
:confval:`startingpoint`.
|
||||
|
||||
If those don't match, the news record won't be displayed and
|
||||
:confval:`detail.errorHandling` applied.
|
||||
|
||||
.. _tsDetailShowMetaTags:
|
||||
|
||||
detail.showMetaTags
|
||||
===================
|
||||
|
||||
.. confval:: 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 :confval:`opengraph`) are rendered.
|
||||
|
||||
.. _tsDetailShowPrevNext:
|
||||
|
||||
detail.showPrevNext
|
||||
===================
|
||||
|
||||
.. confval:: detail.showPrevNext
|
||||
|
||||
:type: boolean
|
||||
:Default: 0
|
||||
|
||||
If enabled, links to the previous and next news records are shown
|
||||
|
||||
.. _tsDetailRegisterProperties:
|
||||
|
||||
detail.registerProperties
|
||||
=========================
|
||||
|
||||
.. confval:: detail.registerProperties
|
||||
|
||||
:type: string
|
||||
:Path: plugin.tx_news.settings
|
||||
:Default: keywords,title
|
||||
|
||||
This property is currently not used.
|
||||
|
||||
.. _tsDetailShowSocialShareButtons:
|
||||
|
||||
detail.showSocialShareButtons
|
||||
=============================
|
||||
|
||||
.. confval:: 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:
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: bash
|
||||
|
||||
composer req reelworx/rx-shariff
|
||||
|
||||
list.media
|
||||
==========
|
||||
|
||||
.. confval:: 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
|
||||
}
|
||||
}
|
||||
|
||||
.. _tsListPaginate:
|
||||
|
||||
list.paginate
|
||||
=============
|
||||
|
||||
.. confval:: 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
|
||||
}
|
||||
|
||||
.. _tsListRss:
|
||||
|
||||
list.rss
|
||||
========
|
||||
|
||||
|
||||
.. confval:: list.rss
|
||||
|
||||
:type: array
|
||||
:Path: plugin.tx_news.settings
|
||||
|
||||
Additional settings for the RSS view.
|
||||
|
||||
See the :ref:`RSS configuration <rss>`.
|
||||
|
||||
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}
|
||||
}
|
||||
}
|
||||
|
||||
.. _tsSearchFields:
|
||||
|
||||
search.fields
|
||||
=============
|
||||
|
||||
.. confval:: 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
|
||||
:code:`categories.title`
|
||||
|
||||
search.splitSearchWord
|
||||
======================
|
||||
|
||||
|
||||
.. confval:: 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!
|
||||
Reference in New Issue
Block a user