Initial commit - Typo3 11.5.41

This commit is contained in:
Matteo Gallo
2026-07-03 17:53:31 +02:00
commit 5ca4743197
6811 changed files with 568848 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
# Important: This file is deprecated and will removed with EXT:news 10.x
@import 'EXT:news/Configuration/TypoScript/Sitemap/constants.typoscript'

View File

@@ -0,0 +1,13 @@
# customsubcategory=sitemap=News sitemap settings
plugin.tx_news.settings.sitemap {
# cat=plugin.tx_news/sitemap/0010; type=int+; label=Sitemap startingpoint
startingpoint =
# cat=plugin.tx_news/sitemap/0020; type=int+; label=Detail view page UID for sitemap
detailPid =
# cat=plugin.tx_news/sitemap/0030; type=int+; label=Recursion level of startingpoint for sitemap
recursive = 0
# cat=plugin.tx_news/sitemap/0040; type=int+; label=Limit of news to list in the sitemap
limit = 1000
# cat=plugin.tx_news/sitemap/0050; type=int+; label=Page type for the sitemap
typeNumber = 1426844832
}

View File

@@ -0,0 +1,2 @@
# Important: This file is deprecated and will removed with EXT:news 10.x
@import 'EXT:news/Configuration/TypoScript/Sitemap/setup.typoscript'

View File

@@ -0,0 +1,65 @@
tx_news_sitemap = PAGE
tx_news_sitemap {
typeNum = {$plugin.tx_news.settings.sitemap.typeNumber}
config {
disableAllHeaderCode = 1
xhtml_cleaning = none
admPanel = 0
debug = 0
disablePrefixComment = 1
metaCharset = utf-8
additionalHeaders = Content-Type:text/xml;charset=utf-8
additionalHeaders.10.header = Content-Type:text/xml;charset=utf-8
}
wrap = <?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">|</urlset>
10 = CONTENT
10 {
table = tx_news_domain_model_news
select {
pidInList = {$plugin.tx_news.settings.sitemap.startingpoint}
recursive = {$plugin.tx_news.settings.sitemap.recursive}
selectFields = uid,pid,tstamp,sys_language_uid,l10n_parent
orderBy = tstamp DESC
max = {$plugin.tx_news.settings.sitemap.limit}
languageField = sys_language_uid
where = type=0
}
renderObj = COA
renderObj {
wrap = <url>|</url>
10 = COA
10 {
wrap = <loc>|</loc>
10 = COA
10 {
# htmlSpecialChar on the link to encode ampersand
stdWrap.htmlSpecialChars = 1
10 = TEXT
10 {
typolink {
parameter = {$plugin.tx_news.settings.sitemap.detailPid}
forceAbsoluteUrl = 1
returnLast = url
additionalParams.field = uid
additionalParams.wrap = &tx_news_pi1[news]=|
}
}
}
}
20 = TEXT
20.wrap = <lastmod>|</lastmod>
20.field = tstamp
20.date = Y-m-d
}
}
# Add more news urls in the same sitemap
# from other page with a different detail view page if needed
#20 < .10
#20.select.pidInList = Startingpoint
#20.select.recursive = 0
#20.renderObj.10.10.10.typolink.parameter = Detail pid
}

View File

@@ -0,0 +1,2 @@
# Important: This file is deprecated and will removed with EXT:news 10.x
@import 'EXT:news/Configuration/TypoScript/Styles/Twb/constants.typoscript'

View File

@@ -0,0 +1,10 @@
plugin.tx_news {
view.twb {
# cat=plugin.tx_news/file; type=string; label=Path to template root (FE)
templateRootPath = EXT:news/Resources/Private/Templates/Styles/Twb/Templates
# cat=plugin.tx_news/file; type=string; label=Path to template partials (FE)
partialRootPath = EXT:news/Resources/Private/Templates/Styles/Twb/Partials/
# cat=plugin.tx_news/file; type=string; label=Path to template layouts (FE)
layoutRootPath = EXT:news/Resources/Private/Templates/Styles/Twb/Layouts/
}
}

View File

@@ -0,0 +1,2 @@
# Important: This file is deprecated and will removed with EXT:news 10.x
@import 'EXT:news/Configuration/TypoScript/Styles/Twb/setup.typoscript'

View File

@@ -0,0 +1,35 @@
plugin.tx_news {
view {
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = EXT:news/Resources/Private/Templates/Styles/Twb/Templates
2 = {$plugin.tx_news.view.twb.templateRootPath}
}
partialRootPaths {
0 = EXT:news/Resources/Private/Partials/
1 = EXT:news/Resources/Private/Templates/Styles/Twb/Partials/
2 = {$plugin.tx_news.view.twb.partialRootPath}
}
layoutRootPaths {
0 = EXT:news/Resources/Private/Layouts/
1 = EXT:news/Resources/Private/Templates/Styles/Twb/Layouts/
2 = {$plugin.tx_news.view.twb.layoutRootPath}
}
widget.GeorgRinger\News\ViewHelpers\Widget\PaginateViewHelper.templateRootPath = EXT:news/Resources/Private/Templates/Styles/Twb/Templates/
}
settings {
list {
media {
image >
image {
lazyLoading = {$styles.content.image.lazyLoading}
width = 300
}
}
}
}
}

View File

@@ -0,0 +1,10 @@
plugin.tx_news {
view.twb5 {
# cat=plugin.tx_news/file; type=string; label=Path to template root (FE)
templateRootPath = EXT:news/Resources/Private/Templates/Styles/Twb5/Templates
# cat=plugin.tx_news/file; type=string; label=Path to template partials (FE)
partialRootPath = EXT:news/Resources/Private/Templates/Styles/Twb5/Partials/
# cat=plugin.tx_news/file; type=string; label=Path to template layouts (FE)
layoutRootPath = EXT:news/Resources/Private/Templates/Styles/Twb5/Layouts/
}
}

View File

@@ -0,0 +1,35 @@
plugin.tx_news {
view {
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = EXT:news/Resources/Private/Templates/Styles/Twb5/Templates
2 = {$plugin.tx_news.view.twb5.templateRootPath}
}
partialRootPaths {
0 = EXT:news/Resources/Private/Partials/
1 = EXT:news/Resources/Private/Templates/Styles/Twb5/Partials/
2 = {$plugin.tx_news.view.twb5.partialRootPath}
}
layoutRootPaths {
0 = EXT:news/Resources/Private/Layouts/
1 = EXT:news/Resources/Private/Templates/Styles/Twb5/Layouts/
2 = {$plugin.tx_news.view.twb5.layoutRootPath}
}
widget.GeorgRinger\News\ViewHelpers\Widget\PaginateViewHelper.templateRootPath = EXT:news/Resources/Private/Templates/Styles/Twb5/Templates/
}
settings {
list {
media {
image >
image {
lazyLoading = {$styles.content.image.lazyLoading}
width = 300
}
}
}
}
}

View File

@@ -0,0 +1,2 @@
# Important: This file is deprecated and will removed with EXT:news 10.x
@import 'EXT:news/Configuration/TypoScript/constants.typoscript'

View File

@@ -0,0 +1,36 @@
plugin.tx_news {
rss.channel {
title = Dummy Title
description =
link = http://example.com
language = en-gb
copyright = TYPO3 News
category =
generator = TYPO3 EXT:news
typeNum = 9818
}
opengraph {
site_name =
twitter {
card = summary
site =
creator =
}
}
view {
# cat=plugin.tx_news/file; type=string; label=Path to template root (FE)
templateRootPath = EXT:news/Resources/Private/Templates/
# cat=plugin.tx_news/file; type=string; label=Path to template partials (FE)
partialRootPath = EXT:news/Resources/Private/Partials/
# cat=plugin.tx_news/file; type=string; label=Path to template layouts (FE)
layoutRootPath = EXT:news/Resources/Private/Layouts/
}
settings {
# cat=plugin.tx_news/file; type=string; label=Path to CSS file
cssFile = EXT:news/Resources/Public/Css/news-basic.css
}
}

View File

@@ -0,0 +1,2 @@
# Important: This file is deprecated and will removed with EXT:news 10.x
@import 'EXT:news/Configuration/TypoScript/setup.typoscript'

View File

@@ -0,0 +1,263 @@
# ==============================================
# FE-Plugin configuration for EXT:news
# ==============================================
plugin.tx_news {
mvc.callDefaultActionIfActionCantBeResolved = 1
view {
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = {$plugin.tx_news.view.templateRootPath}
}
partialRootPaths {
0 = EXT:news/Resources/Private/Partials/
1 = {$plugin.tx_news.view.partialRootPath}
}
layoutRootPaths {
0 = EXT:news/Resources/Private/Layouts/
1 = {$plugin.tx_news.view.layoutRootPath}
}
widget.GeorgRinger\News\ViewHelpers\Widget\PaginateViewHelper.templateRootPath = EXT:news/Resources/Private/Templates/
}
# Modify the translation
#_LOCAL_LANG {
# default {
# more-link = more >>
# }
#}
# ====================================
# Settings available inside Controller and View by accessing $this->settings or {settings.xyz}
# ====================================
settings {
cssFile = {$plugin.tx_news.settings.cssFile}
#Displays a dummy image if the news have no media items
displayDummyIfNoMedia = 1
# Output format
format = html
# general settings
overrideFlexformSettingsIfEmpty = cropMaxCharacters,dateField,timeRestriction,timeRestrictionHigh,archiveRestriction,orderBy,orderDirection,backPid,listPid,startingpoint,recursive,list.paginate.itemsPerPage,list.paginate.templatePath
allowEmptyStringsForOverwriteDemand = 0
includeSubCategories = 0
analytics {
social {
facebookLike = 1
facebookShare = 1
twitter = 1
}
}
detailPidDetermination = flexform, categories, default
defaultDetailPid = 0
dateField = datetime
link {
typesOpeningInNewWindow = 2
hrDate = 0
hrDate {
day = j
month = n
year = Y
}
}
cropMaxCharacters = 150
orderBy = datetime
orderDirection = desc
topNewsFirst = 0
orderByAllowed = sorting,author,uid,title,teaser,author,tstamp,crdate,datetime,categories.title
facebookLocale = en_US
googlePlusLocale = en
demandClass =
# --------------
# Search
# --------------
search {
fields = teaser,title,bodytext
splitSearchWord = 0
}
# --------------
# Detail
# --------------
detail {
errorHandling = showStandaloneTemplate,EXT:news/Resources/Private/Templates/News/DetailNotFound.html,404
checkPidOfNewsRecord = 0
registerProperties = keywords,title
showPrevNext = 0
showSocialShareButtons = 1
showMetaTags = 1
# media configuration
media {
image {
lazyLoading = {$styles.content.image.lazyLoading}
maxWidth = 282
maxHeight =
# Get lightbox settings from 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}
rel = lightbox[myImageSet]
}
}
video {
width = 282
height = 159
}
}
pageTitle = 1
pageTitle {
provider = GeorgRinger\News\Seo\NewsTitleProvider
properties = title,teaser
}
}
# --------------
# List
# --------------
list {
# media configuration
media {
image {
lazyLoading = {$styles.content.image.lazyLoading}
maxWidth = 100
maxHeight = 100
}
dummyImage = EXT:news/Resources/Public/Images/dummy-preview-image.png
}
# Paginate configuration.
paginate {
class = GeorgRinger\NumberedPagination\NumberedPagination
itemsPerPage = 10
insertAbove = 1
insertBelow = 1
maximumNumberOfLinks = 3
}
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}
typeNum = {$plugin.tx_news.rss.channel.typeNum}
}
}
}
# Opengraph implementation
opengraph {
site_name = {$plugin.tx_news.opengraph.site_name}
type = article
admins =
locale =
twitter {
card = {$plugin.tx_news.opengraph.twitter.card}
site = {$plugin.tx_news.opengraph.twitter.site}
creator = {$plugin.tx_news.opengraph.twitter.creator}
}
}
}
}
# Rendering of content elements in detail view
lib.tx_news.contentElementRendering = RECORDS
lib.tx_news.contentElementRendering {
tables = tt_content
source.current = 1
dontCheckPid = 1
}
# Rendering of news, displayed by "Insert Record" content element
tt_content.shortcut.20.tables := addToList(tx_news_domain_model_news)
tt_content.shortcut.20.conf.tx_news_domain_model_news = USER
tt_content.shortcut.20.conf.tx_news_domain_model_news {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = News
pluginName = Pi1
vendorName = GeorgRinger
switchableControllerActions {
News {
1 = detail
}
}
settings =< plugin.tx_news.settings
settings {
singleNews.field = uid
useStdWrap = singleNews
insertRecord = 1
isShortcut = 1
}
}
# For fluid_styled_content
tt_content.shortcut.variables.shortcuts.tables := addToList(tx_news_domain_model_news)
tt_content.shortcut.variables.shortcuts.conf.tx_news_domain_model_news < tt_content.shortcut.20.conf.tx_news_domain_model_news
# ==============================================
# BE-module configuration for EXT:news
# ==============================================
module.tx_news < plugin.tx_news
module.tx_news {
settings.list.paginate.itemsPerPage = 25
}
# ==============================================
# Persistence object mapping configuration
# ==============================================
config.tx_extbase.persistence.classes {
GeorgRinger\News\Domain\Model\News {
subclasses {
0 = GeorgRinger\News\Domain\Model\NewsDefault
1 = GeorgRinger\News\Domain\Model\NewsInternal
2 = GeorgRinger\News\Domain\Model\NewsExternal
}
}
GeorgRinger\News\Domain\Model\NewsDefault {
mapping {
recordType = 0
tableName = tx_news_domain_model_news
}
}
GeorgRinger\News\Domain\Model\NewsInternal {
mapping {
recordType = 1
tableName = tx_news_domain_model_news
}
}
GeorgRinger\News\Domain\Model\NewsExternal {
mapping {
recordType = 2
tableName = tx_news_domain_model_news
}
}
}