Initial commit

This commit is contained in:
Cloonar
2024-12-02 12:28:35 +01:00
commit dc264b89a1
89 changed files with 31377 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
renderingOptions:
submitButtonLabel: Anmelden
type: Form
identifier: newsletter
label: Newsletter
prototypeName: standard
finishers:
-
options:
notifyEmail: dominik.polakovics@cloonar.com
apiKey: 28a7270df8f61a296a11d3e63d5b2aaf
campaignId: 4Etb5
email: '{email-1}'
firstname: '{text-1}'
lastname: '{text-2}'
company: '{text-3}'
register: '{checkbox-1}'
identifier: GetResponse
-
options:
message: 'Vielen Dank für Ihre Anmeldung !'
contentElementUid: ''
identifier: Confirmation
renderables:
-
renderingOptions:
previousButtonLabel: 'Previous step'
nextButtonLabel: 'Next step'
type: Page
identifier: page-1
label: 'Newsletter Anmeldung'
renderables:
-
properties:
text: 'Melden Sie sich zu unserem Newsletter an, um top News zu erhalten!'
type: StaticText
identifier: statictext-1
label: ''
-
type: GridRow
identifier: gridrow-1
label: 'Grid: Row'
renderables:
-
defaultValue: ''
type: Text
identifier: text-1
label: Vorname
properties:
fluidAdditionalAttributes:
placeholder: Vorname
required: required
gridColumnClassAutoConfiguration:
viewPorts:
xs:
numbersOfColumnsToUse: '12'
validators:
-
identifier: NotEmpty
-
defaultValue: ''
type: Text
identifier: text-2
label: Nachname
properties:
fluidAdditionalAttributes:
placeholder: Nachname
required: required
gridColumnClassAutoConfiguration:
viewPorts:
xs:
numbersOfColumnsToUse: '12'
validators:
-
identifier: NotEmpty
-
type: GridRow
identifier: gridrow-2
label: 'Grid: Row'
renderables:
-
defaultValue: ''
type: Email
identifier: email-1
label: E-mail
properties:
fluidAdditionalAttributes:
placeholder: vorname.nachname@domain.com
required: required
gridColumnClassAutoConfiguration:
viewPorts:
xs:
numbersOfColumnsToUse: '12'
validators:
-
identifier: EmailAddress
-
identifier: NotEmpty
-
defaultValue: ''
type: Text
identifier: text-3
label: Firma
properties:
fluidAdditionalAttributes:
placeholder: Firma
gridColumnClassAutoConfiguration:
viewPorts:
xs:
numbersOfColumnsToUse: '12'
-
type: Checkbox
identifier: checkbox-1
label: 'Ich möchte den Newsletter per E-Mail erhalten. Meine Daten werden keinesfalls an Dritte weitergegeben. Meine Einwilligung kann ich jederzeit durch eine E-Mail an newsletter@cloonar.dev widerrufen. Selbstverständlich können Sie über die gespeicherten Daten Auskunft verlangen.'
properties:
fluidAdditionalAttributes:
required: required
validators:
-
identifier: NotEmpty

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="EXT:base_design/Resources/Private/Language/locallang_ttc.xlf" date="2011-10-17T20:22:32Z" product-name="cms">
<header/>
<body>
<trans-unit id="space_class_zero" resname="space_class_zero">
<source>None</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,20 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<f:if condition="{files}">
<f:variable name="imagecols">{data.imagecols as integer}</f:variable>
<f:variable name="columnConfig">{settings.gallery.columns.{imagecols}}</f:variable>
<bk2k:data.imageVariants as="variants" variants="{variants}" multiplier="{columnConfig.multiplier}"
gutters="{columnConfig.gutters}" corrections="{columnConfig.corrections}" />
<div class="gallery-row">
<f:for each="{files}" as="file" iteration="fileIteration">
<div class="gallery-item {columnConfig.class}">
<f:render partial="Media/Type" arguments="{file: file, data: data, settings: settings, variants: variants}" />
</div>
</f:for>
</div>
</f:if>
</html>

View File

@@ -0,0 +1,39 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<figure class="image">
<f:if condition="{file.properties.link}">
<f:then>
<f:link.typolink parameter="{file.properties.link}" title="{file.properties.title}">
<f:render partial="Media/Rendering/Image"
arguments="{file: file, data: data, settings: settings, variants: variants}" />
<f:if condition="{file.properties.title}">
<h4><f:format.nl2br>{file.properties.title}</f:format.nl2br></h4>
</f:if>
</f:link.typolink>
</f:then>
<f:else>
<f:if condition="{data.image_zoom}">
<f:then>
<bk2k:link.lightbox image="{file}" maxHeight="{settings.lightbox.image.maxHeight}"
maxWidth="{settings.lightbox.image.maxWidth}" class="{settings.lightbox.cssClass}"
rel="{settings.lightbox.prefix}-{data.uid}" title="{file.properties.title}"
caption="{file.properties.description}">
<f:render partial="Media/Rendering/Image"
arguments="{file: file, data: data, settings: settings, variants: variants}" />
</bk2k:link.lightbox>
</f:then>
<f:else>
<f:render partial="Media/Rendering/Image"
arguments="{file: file, data: data, settings: settings, variants: variants}" />
</f:else>
</f:if>
</f:else>
</f:if>
<f:if condition="{file.properties.description} && !{data.image_zoom}">
<figcaption class="caption">
<f:format.nl2br>{file.properties.description}</f:format.nl2br>
</figcaption>
</f:if>
</figure>
</html>

View File

@@ -0,0 +1,31 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
data-namespace-typo3-fluid="true">
<div class="mediaelement mediaelement-image">
<f:if condition="{mediaElement.link}">
<f:then>
<f:link.typolink parameter="{mediaElement.link}" target="{n:targetLink(link:mediaElement.link)}">
<f:image image="{mediaElement}" title="{mediaElement.title}" alt="{mediaElement.alternative}" loading="{settings.detail.media.image.lazyLoading}" maxWidth="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.detail.media.image.maxWidth)}" maxHeight="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.detail.media.image.maxHeight)}" additionalAttributes="{itemprop:'image'}" />
</f:link.typolink>
</f:then>
<f:else>
<f:if condition="{settings.detail.media.image.lightbox.enabled}">
<f:then>
<a href="{f:uri.image(image:mediaElement, width:'{settings.detail.media.image.lightbox.width}m', height:'{settings.detail.media.image.lightbox.height}m')}" title="{mediaElement.title}" class="{settings.detail.media.image.lightbox.class}" rel="{settings.detail.media.image.lightbox.rel}" data-lightbox-width="{settings.detail.media.image.lightbox.width}" data-lightbox-height="{settings.detail.media.image.lightbox.height}" data-lightbox-caption="">
<f:image image="{mediaElement}" title="{mediaElement.title}" alt="{mediaElement.alternative}" loading="{settings.detail.media.image.lazyLoading}" maxWidth="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.detail.media.image.maxWidth)}" maxHeight="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.detail.media.image.maxHeight)}" additionalAttributes="{itemprop:'image'}" />
</a>
</f:then>
<f:else>
<f:image image="{mediaElement}" title="{mediaElement.title}" alt="{mediaElement.alternative}" loading="{settings.detail.media.image.lazyLoading}" maxWidth="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.detail.media.image.maxWidth)}" maxHeight="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.detail.media.image.maxHeight)}" additionalAttributes="{itemprop:'image'}" />
</f:else>
</f:if>
</f:else>
</f:if>
</div>
<f:if condition="{mediaElement.description}">
<p class="news-img-caption">
{mediaElement.description}
</p>
</f:if>
</html>

View File

@@ -0,0 +1,40 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:if condition="{newsItem.alternativeTitle}">
<f:then><n:metaTag property="og:title" content="{newsItem.alternativeTitle}" /></f:then>
<f:else><n:metaTag property="og:title" content="{newsItem.title}" /></f:else>
</f:if>
<n:metaTag property="og:type" content="{settings.opengraph.type}" />
<n:metaTag property="og:url" content="" useCurrentDomain="1" />
<n:metaTag property="og:site_name" content="{settings.opengraph.site_name}" />
<f:if condition="{newsItem.media.0}">
<f:variable name="ogImagePath" value="{f:uri.image(src:'{newsItem.media.0.uid}', treatIdAsReference:1, maxWidth:'1200')}" />
<n:metaTag
property="og:image"
content="{ogImagePath}"
forceAbsoluteUrl="1" />
<n:metaTag property="og:image:width" content="{n:imageSize(property:'width', image:'{ogImagePath}')}" />
<n:metaTag property="og:image:height" content="{n:imageSize(property:'height', image:'{ogImagePath}')}" />
</f:if>
<f:if condition="{newsItem.description}">
<f:then>
<n:metaTag name="description" content="{newsItem.description}" />
<n:metaTag property="og:description" content="{newsItem.description}" />
</f:then>
<f:else>
<n:metaTag name="description" content="{newsItem.teaser -> f:format.stripTags()}" />
<n:metaTag property="og:description" content="{newsItem.teaser -> f:format.stripTags()}" />
</f:else>
</f:if>
<n:metaTag name="keywords" content="{newsItem.keywords}" />
<n:metaTag property="fb:admins" content="{settings.opengraph.admins}" />
<n:metaTag property="og:locale" content="{settings.opengraph.locale}" />
<f:if condition="{settings.opengraph.twitter.site}">
<n:metaTag name="twitter:card" content="{settings.opengraph.twitter.card}" />
<n:metaTag name="twitter:site" content="{settings.opengraph.twitter.site}" />
<n:metaTag name="twitter:creator" content="{settings.opengraph.twitter.creator}" />
</f:if>
</html>

View File

@@ -0,0 +1,103 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
data-namespace-typo3-fluid="true">
<!--
=====================
Partials/List/Item.html
-->
<div class="article articletype-{newsItem.type}{f:if(condition: newsItem.istopnews, then: ' topnews')}" itemscope="itemscope" itemtype="https://schema.org/Article">
<n:excludeDisplayedNews newsItem="{newsItem}"/>
<!-- header -->
<div class="header">
<h3>
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}" additionalAttributes="{itemprop:'url'}">
<span itemprop="headline">{newsItem.title}</span>
</n:link>
</h3>
</div>
<f:if condition="{newsItem.media}">
<!-- media preview element -->
<f:then>
<div class="news-img-wrap">
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
<f:alias map="{mediaElement: newsItem.media.0}">
<f:if condition="{mediaElement.originalResource.type} == 2">
<f:image image="{mediaElement}" title="{mediaElement.originalResource.title}" alt="{mediaElement.originalResource.alternative}" loading="{settings.list.media.image.lazyLoading}" width="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" height="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
</f:if>
<f:if condition="{mediaElement.originalResource.type} == 4">
<f:render partial="Detail/MediaVideo" arguments="{mediaElement: mediaElement}"/>
</f:if>
<f:if condition="{mediaElement.originalResource.type} == 5">
<f:image image="{mediaElement}" title="{mediaElement.originalResource.title}" alt="{mediaElement.originalResource.alternative}" loading="{settings.list.media.image.lazyLoading}" width="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" height="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
</f:if>
</f:alias>
</n:link>
</div>
</f:then>
<f:else>
<f:if condition="{settings.displayDummyIfNoMedia}">
<div class="news-img-wrap">
<span class="no-media-element">
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
<f:image src="{settings.list.media.dummyImage}" title="" alt="" loading="{settings.list.media.image.lazyLoading}" maxWidth="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" maxHeight="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
</n:link>
</span>
</div>
</f:if>
</f:else>
</f:if>
<!-- teaser -->
<div class="teaser-text">
<n:removeMediaTags>
<f:if condition="{newsItem.teaser}">
<f:then>
<div itemprop="description">{newsItem.teaser -> f:format.crop(maxCharacters: '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.raw()}</div>
</f:then>
<f:else>
<div itemprop="description">{newsItem.bodytext -> f:format.crop(maxCharacters: '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.raw()}</div>
</f:else>
</f:if>
</n:removeMediaTags>
<n:link newsItem="{newsItem}" settings="{settings}" class="more" title="{newsItem.title}">
<f:translate key="more-link"/>
</n:link>
</div>
<!-- footer information -->
<div class="footer">
<p>
<!-- date -->
<span class="news-list-date">
<time itemprop="datePublished" datetime="{f:format.date(date:newsItem.datetime, format:'Y-m-d')}">
<f:format.date format="{f:translate(key:'dateFormat')}">{newsItem.datetime}</f:format.date>
</time>
</span>
<f:if condition="{newsItem.firstCategory}">
<!-- first category -->
<span class="news-list-category">{newsItem.firstCategory.title}</span>
</f:if>
<f:if condition="{newsItem.tags}">
<!-- Tags -->
<span class="news-list-tags" itemprop="keywords">
<f:for each="{newsItem.tags}" as="tag">
{tag.title}
</f:for>
</span>
</f:if>
<!-- author -->
<f:if condition="{newsItem.author}">
<span class="news-list-author">
<f:translate key="author" arguments="{0:newsItem.author}"/>
</span>
</f:if>
</p>
</div>
</div>
</html>

View File

@@ -0,0 +1,57 @@
<ul class="f3-widget-paginator">
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
<f:then>
<f:comment>
<li class="first">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: 1},addQueryString:1)}" title="{f:translate(key:'pagination.first')}">
<i class="material-icons">first_page</i>
</a>
</li>
</f:comment>
<li class="previous">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.previousPageNumber},addQueryString:1)}" title="{f:translate(key:'pagination.previous')}">
{f:translate(key:'widget.pagination.previous', extensionName: 'fluid')}
</a>
</li>
</f:then>
<f:else>
<f:comment>
<li class="disabled"><span><i class="material-icons">first_page</i></span></li>
<li class="disabled"><span>{f:translate(key:'widget.pagination.previous', extensionName: 'fluid')}</span></li>
</f:comment>
</f:else>
</f:if>
<f:if condition="{pagination.hasLessPages}">
<li><span></span></li>
</f:if>
<f:for each="{pagination.allPageNumbers}" as="page">
<li class="{f:if(condition: '{page} == {paginator.currentPageNumber}', then:'current')}">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: page},addQueryString:1)}">{page}</a>
</li>
</f:for>
<f:if condition="{pagination.hasMorePages}">
<li><span></span></li>
</f:if>
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
<f:then>
<li class="next">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.nextPageNumber},addQueryString:1)}" title="{f:translate(key:'pagination.next')}">
{f:translate(key:'widget.pagination.next', extensionName: 'fluid')}
</a>
</li>
<f:comment>
<li class="last">
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.lastPageNumber},addQueryString:1)}" title="{f:translate(key:'pagination.last')}">
last
</a>
</li>
</f:comment>
</f:then>
<f:else>
<f:comment>
<li class="disabled"><span>{f:translate(key:'widget.pagination.next', extensionName: 'fluid')}</span></li>
<li class="disabled"><span>last page</span></li>
</f:comment>
</f:else>
</f:if>
</ul>

View File

@@ -0,0 +1,86 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
data-namespace-typo3-fluid="true">
<!--
=====================
Partials/List/Item.html
-->
<div class="article articletype-{newsItem.type}{f:if(condition: newsItem.istopnews, then: ' topnews')}" itemscope="itemscope" itemtype="https://schema.org/Article">
<n:excludeDisplayedNews newsItem="{newsItem}"/>
<!-- header -->
<div class="header">
<h3>
<span itemprop="headline">{newsItem.title}</span>
</h3>
</div>
<f:if condition="{newsItem.media}">
<!-- media preview element -->
<f:then>
<div class="news-img-wrap">
<f:alias map="{mediaElement: newsItem.media.0}">
<f:if condition="{mediaElement.originalResource.type} == 2">
<f:image image="{mediaElement}" title="{mediaElement.originalResource.title}" alt="{mediaElement.originalResource.alternative}" loading="{settings.list.media.image.lazyLoading}" width="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" height="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
</f:if>
<f:if condition="{mediaElement.originalResource.type} == 4">
<f:render partial="Detail/MediaVideo" arguments="{mediaElement: mediaElement}"/>
</f:if>
<f:if condition="{mediaElement.originalResource.type} == 5">
<f:image image="{mediaElement}" title="{mediaElement.originalResource.title}" alt="{mediaElement.originalResource.alternative}" loading="{settings.list.media.image.lazyLoading}" width="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" height="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
</f:if>
</f:alias>
</div>
</f:then>
<f:else>
<f:if condition="{settings.displayDummyIfNoMedia}">
<div class="news-img-wrap">
<span class="no-media-element">
<f:image src="{settings.list.media.dummyImage}" title="" alt="" loading="{settings.list.media.image.lazyLoading}" maxWidth="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" maxHeight="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
</span>
</div>
</f:if>
</f:else>
</f:if>
<!-- teaser -->
<div class="teaser-text">
<n:removeMediaTags>
<div itemprop="description">{newsItem.bodytext -> f:format.html()}</div>
</n:removeMediaTags>
</div>
<!-- footer information -->
<div class="footer">
<p>
<!-- date -->
<span class="news-list-date">
<time itemprop="datePublished" datetime="{f:format.date(date:newsItem.datetime, format:'Y-m-d')}">
<f:format.date format="{f:translate(key:'dateFormat')}">{newsItem.datetime}</f:format.date>
</time>
</span>
<f:if condition="{newsItem.firstCategory}">
<!-- first category -->
<span class="news-list-category">{newsItem.firstCategory.title}</span>
</f:if>
<f:if condition="{newsItem.tags}">
<!-- Tags -->
<span class="news-list-tags" itemprop="keywords">
<f:for each="{newsItem.tags}" as="tag">
{tag.title}
</f:for>
</span>
</f:if>
<!-- author -->
<f:if condition="{newsItem.author}">
<span class="news-list-author">
<f:translate key="author" arguments="{0:newsItem.author}"/>
</span>
</f:if>
</p>
</div>
</div>
</html>

View File

@@ -0,0 +1,19 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<div class="search-wrap">
<form
method="get"
id="form_kesearch_searchfield"
name="form_kesearch_searchfield"
action="{f:uri.typolink(parameter: settings.pageIds.search)}"
class="search-wrap"
>
<div class="input-group">
<input type="text" id="header-search-input" name="tx_kesearch_pi1[sword]" class="form-control" />
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<bk2k:inlineSvg src="EXT:bootstrap_package/Resources/Public/Images/Icons/Glyphicons/search.svg" height="20" width="20" />
</button>
</div>
</div>
</form>
</div>

View File

@@ -0,0 +1,74 @@
<f:comment>
<!--
=====================
Base Partials/Search/ResultRow.html
-->
</f:comment>
<div class="result-list-item result-list-item-type-{resultrow.type}">
<span class="clearer">&nbsp;</span>
<div class="add-info">
<f:if condition="{conf.showResultUrl}">
<i>{f:translate(key: 'LLL:EXT:ke_search/Resources/Private/Language/locallang_searchbox.xlf:label_resulturl')}:</i>
<f:format.raw>{resultrow.url}</f:format.raw><br />
</f:if>
<f:if condition="{conf.showTags}">
<i>{f:translate(key: 'LLL:EXT:ke_search/Resources/Private/Language/locallang_searchbox.xlf:label_tags')}:</i>
{resultrow.tags}<br />
</f:if>
</div>
<span class="teaser_icon">
<a href="{resultrow.url}">
<f:render section="typeIconOrPreviewImage"
arguments="{icon: resultrow.typeIconPath, filePreviewId: resultrow.filePreviewId, treatIdAsReference:resultrow.treatIdAsReference, iconConf: conf.showTypeIcon}" />
</a>
</span>
<h3 class="result-title">
<f:if condition="{conf.resultsNumeration}">
<span class="result-number">{resultrow.number}.</span>
</f:if>
<f:format.raw>
<f:format.crop maxCharacters="65" append="...">
{resultrow.title}
</f:format.crop>
</f:format.raw>
</h3>
<f:if condition="{resultrow.type} == 'cal'">
<f:then>
<f:comment>
<!-- Special cal date rendering -->
</f:comment>
<f:render partial="CalDate" arguments="{resultrow: resultrow}" />
<br />
</f:then>
<f:else>
<f:comment>
<!-- Default date rendering -->
</f:comment>
<f:if condition="{conf.showDate}">
<div class="result-date">
<!-- <f:format.date>{resultrow.date_timestamp}</f:format.date> -->
01.01.2023
</div>
</f:if>
</f:else>
</f:if>
<div class="result-teaser">
<f:format.raw>{resultrow.teaser}</f:format.raw>
</div>
<span class="clearer">&nbsp;</span>
</div>
<f:section name="typeIconOrPreviewImage">
<f:if condition="{iconConf} && !{filePreviewId}">
<f:then>
</f:then>
<f:else>
<f:if condition="{filePreviewId}">
<f:image src="{filePreviewId}" treatIdAsReference="{treatIdAsReference}" width="100m" height="100c" />
</f:if>
</f:else>
</f:if>
</f:section>

View File

@@ -0,0 +1,29 @@
<f:comment>
<!--
=====================
Partials/ResultRows.html
-->
</f:comment>
<div class="clearer"> </div>
<f:render partial="Sorting" arguments="{conf: conf, numberofresults: numberofresults, sortingLinks: sortingLinks}" />
<f:if condition="{conf.pagebrowserOnTop}">
<div id="kesearch_pagebrowser_top">
<f:render partial="PageBrowser"
arguments="{conf: conf, numberofresults:numberofresults, pagebrowser:pagebrowser}" />
</div>
</f:if>
<div id="kesearch_results">
<f:for each="{resultrows}" as="resultrow">
<f:render partial="ResultRow" arguments="{conf: conf, resultrow: resultrow}" />
</f:for>
</div>
<f:if condition="{conf.pagebrowserAtBottom}">
<div id="kesearch_pagebrowser_bottom">
<f:render partial="PageBrowser"
arguments="{conf: conf, numberofresults:numberofresults, pagination:pagination}" />
</div>
</f:if>
<f:if condition="{conf.showQueryTime}">
<div id="kesearch_query_time">{queryTimeText}</div>
</f:if>

View File

@@ -0,0 +1,17 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<section class="section footer-section footer-section-content">
<div class="container">
<div class="section-row">
<div class="section-column footer-section-content-column footer-section-content-column-left">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '10', slide: '-1'}" />
</div>
<div class="section-column footer-section-content-column footer-section-content-column-middle">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '11', slide: '-1'}" />
</div>
<div class="section-column footer-section-content-column footer-section-content-column-right">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '12', slide: '-1'}" />
</div>
</div>
</div>
</section>
</html>

View File

@@ -0,0 +1,203 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
xmlns:rx="http://typo3.org/ns/Reelworx/RxShariff/ViewHelper"
data-namespace-typo3-fluid="true">
<f:layout name="Detail" />
<!--
=====================
News/Detail.html
-->
<f:section name="content">
<f:if condition="{newsItem}">
<f:then>
<n:format.nothing>
<n:excludeDisplayedNews newsItem="{newsItem}" />
<f:if condition="{settings.detail.showMetaTags}">
<f:render partial="Detail/Opengraph" arguments="{newsItem: newsItem, settings:settings}" />
</f:if>
<f:if condition="{newsItem.alternativeTitle}">
<f:then>
<n:titleTag>
<f:format.htmlentitiesDecode>{newsItem.alternativeTitle}</f:format.htmlentitiesDecode>
</n:titleTag>
</f:then>
<f:else>
<n:titleTag>
<f:format.htmlentitiesDecode>{newsItem.title}</f:format.htmlentitiesDecode>
</n:titleTag>
</f:else>
</f:if>
</n:format.nothing>
<f:if condition="{settings.detail.showPrevNext}">
<n:simplePrevNext pidList="{newsItem.pid}" news="{newsItem}" as="paginated" sortField="datetime">
<f:if condition="{paginated}">
<ul class="pager">
<f:if condition="{paginated.prev}">
<li class="previous">
<n:link newsItem="{paginated.prev}" settings="{settings}">
<span aria-hidden="true">&larr; </span>{paginated.prev.title}
</n:link>
</li>
</f:if>
<f:if condition="{paginated.next}">
<li class="next">
<n:link newsItem="{paginated.next}" settings="{settings}" class="next">
{paginated.next.title} <span aria-hidden="true"> &rarr;</span>
</n:link>
</li>
</f:if>
</ul>
</f:if>
</n:simplePrevNext>
</f:if>
<div class="header">
<h1 itemprop="headline">{newsItem.title}</h1>
</div>
<div class="footer">
<p>
<!-- date -->
<span class="news-list-date">
<time itemprop="datePublished" datetime="{f:format.date(date:newsItem.datetime, format:'Y-m-d')}">
<f:format.date format="{f:translate(key:'dateFormat')}">{newsItem.datetime}</f:format.date>
</time>
</span>
<f:if condition="{newsItem.categories}">
<f:render partial="Category/Items" arguments="{categories:newsItem.categories, settings:settings}" />
</f:if>
<f:if condition="{newsItem.tags}">
<!-- Tags -->
<span class="news-list-tags" itemprop="keywords">
<f:for each="{newsItem.tags}" as="tag">
{tag.title}
</f:for>
</span>
</f:if>
<f:if condition="{newsItem.author}">
<!-- author -->
<span class="news-list-author" itemprop="author" itemscope="itemscope" itemtype="http://schema.org/Person">
<f:translate key="author_simple" /> <span itemprop="name">{newsItem.author}</span>
</span>
</f:if>
</p>
</div>
<n:renderMedia news="{newsItem}" imgClass="img-responsive" videoClass="video-wrapper" audioClass="audio-wrapper">
<f:if condition="{newsItem.contentElements}">
<!-- content elements -->
<f:cObject typoscriptObjectPath="lib.tx_news.contentElementRendering">{newsItem.contentElementIdList}</f:cObject>
</f:if>
<f:if condition="{newsItem.falMedia -> f:count()} > 1">
<f:render partial="Detail/MediaContainer" arguments="{media: newsItem.mediaNonPreviews, settings:settings}" />
</f:if>
<!-- main text -->
<div class="news-text-wrap" itemprop="articleBody">
<f:format.html>{newsItem.bodytext}</f:format.html>
</div>
</n:renderMedia>
<f:if condition="{settings.backPid}">
<!-- Link Back -->
<div class="news-backlink-wrap">
<f:link.page pageUid="{settings.backPid}">
<f:translate key="back-link" />
</f:link.page>
</div>
</f:if>
<f:if condition="{settings.detail.showSocialShareButtons}">
<f:comment>
Care about the privacy of your readers?
Checkout https://typo3.org/extensions/repository/view/rx_shariff
and it will be used automatically!
</f:comment>
<n:extensionLoaded extensionKey="rx_shariff">
<f:render partial="Detail/Shariff" />
</n:extensionLoaded>
</f:if>
<!-- related things -->
<div class="news-related-wrap">
<f:comment>
Various options exist to fetch different related information:
- {newsItem.allRelatedSorted}: all related news, related und related from, sorted by date
- {newsItem.related}: all related
- {newsItem.relatedSorted}: all related, sorted by date
- {newsItem.relatedFrom}: all related from
- {newsItem.relatedFromSortedByForeign}: all related from sorted by foreign sorting
- {newsItem.relatedFromSorted}: all related from, sorted by date
</f:comment>
<f:if condition="{newsItem.allRelatedSorted}">
<!-- Related news records -->
<div class="news-related news-related-news">
<h4>
<f:translate key="related-news" />
</h4>
<ul>
<f:for each="{newsItem.allRelatedSorted}" as="related">
<li>
<span class="news-related-news-date"><f:format.date format="{f:translate(key:'dateFormat')}">{related.datetime}</f:format.date></span>
<n:link newsItem="{related}" settings="{settings}" title="{related.title}">
{related.title}
</n:link>
</li>
</f:for>
</ul>
</div>
</f:if>
<f:if condition="{newsItem.relatedFiles}">
<!-- related files -->
<div class="news-related news-related-files">
<h4>
<f:translate key="related-files" />
</h4>
<ul>
<f:for each="{newsItem.relatedFiles}" as="relatedFile">
<li>
<span class="news-related-files-link">
<a href="{relatedFile.originalResource.publicUrl -> f:format.htmlspecialchars()}" target="_blank">
{f:if(condition:relatedFile.originalResource.title, then:relatedFile.originalResource.title, else:relatedFile.originalResource.name)}
</a>
</span>
<span class="news-related-files-size">
{relatedFile.originalResource.size -> f:format.bytes()}
</span>
</li>
</f:for>
</ul>
</div>
</f:if>
<f:if condition="{newsItem.relatedLinks}">
<!-- Related links -->
<div class="news-related news-related-links">
<h4>
<f:translate key="related-links" />
</h4>
<ul>
<f:for each="{newsItem.relatedLinks}" as="relatedLink">
<li>
<f:link.typolink parameter="{relatedLink.uri}" title="{relatedLink.title}" target="{n:targetLink(link:relatedLink.uri)}">{f:if(condition: relatedLink.title, then: relatedLink.title, else: relatedLink.uri)}</f:link.typolink>
<f:if condition="{relatedLink.description}"><span>{relatedLink.description}</span></f:if>
</li>
</f:for>
</ul>
</div>
</f:if>
</div>
</f:then>
<f:else>
</f:else>
</f:if>
</f:section>
</html>

View File

@@ -0,0 +1,52 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:layout name="General" />
<!--
=====================
Templates/News/List.html
-->
<f:section name="content">
<!--TYPO3SEARCH_end-->
<f:if condition="{news}">
<f:then>
<div class="news-list-view news-list-{settings.templateLayout}" id="news-container-{contentObjectData.uid}">
<f:if condition="{settings.hidePagination}">
<f:then>
<f:for each="{news}" as="newsItem" iteration="iterator">
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:for>
</f:then>
<f:else>
<f:if condition="{settings.list.paginate.insertAbove}">
<f:render partial="List/Pagination" arguments="{pagination: pagination.pagination, paginator: pagination.paginator}" />
</f:if>
<f:if condition="{settings.templateLayout} == 1">
<f:then>
<f:for each="{pagination.paginator.paginatedItems}" as="newsItem" iteration="iterator">
<f:render partial="List/ZahlItem" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:for>
</f:then>
<f:else>
<f:for each="{pagination.paginator.paginatedItems}" as="newsItem" iteration="iterator">
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
</f:for>
</f:else>
</f:if>
<f:if condition="{settings.list.paginate.insertBelow}">
<f:render partial="List/Pagination" arguments="{pagination: pagination.pagination, paginator: pagination.paginator}" />
</f:if>
</f:else>
</f:if>
</div>
</f:then>
<f:else>
<div class="no-news-found">
<f:translate key="list_nonewsfound" />
</div>
</f:else>
</f:if>
<!--TYPO3SEARCH_begin-->
</f:section>
</html>

View File

@@ -0,0 +1,24 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="Default" />
<f:section name="Border">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '3', slide: '{theme.pagelayout.{pagelayout}.colPos.3.slide}'}" />
</f:section>
<f:section name="Main">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '8', slide: '{theme.pagelayout.{pagelayout}.colPos.8.slide}'}" />
<div class="section section-default">
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '0', slide: '{theme.pagelayout.{pagelayout}.colPos.0.slide}'}" />
</div>
<f:cObject typoscriptObjectPath="lib.dynamicContent" data="{pageUid: '{data.uid}', colPos: '9', slide: '{theme.pagelayout.{pagelayout}.colPos.9.slide}'}" />
</f:section>
<f:section name="Footer">
<f:render partial="Structure/FooterContent" arguments="{_all}" />
</f:section>
</html>

View File

@@ -0,0 +1,83 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:kesearch="http://typo3.org/ns/Tpwd/KeSearch/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="General" />
<f:comment>
<!--
=====================
Templates/SearchForm.html
-->
</f:comment>
<f:section name="content">
<form method="get" id="form_kesearch_pi1" name="form_kesearch_pi1" action="{f:uri.page(pageUid: targetpage)}">
<f:comment>
<!-- Replace the URL with the speaking URL -->
</f:comment>
<f:if condition="{isEmptySearch} == FALSE ">
<f:if condition="{conf.searchWordParameter} == 'tx_kesearch_pi1[sword]'">
<f:format.raw>
<script>history.replaceState(null, '', '</f:format.raw><kesearch:link keepPiVars="1" uriOnly="1" /><f:format.raw>');</script>
</f:format.raw>
</f:if>
</f:if>
<fieldset class="kesearch_searchbox">
<f:if condition="{lparam}">
<input type="hidden" name="L" value="{lparam}" />
</f:if>
<f:if condition="{mpparam}">
<input type="hidden" name="MP" value="{mpparam}" />
</f:if>
<f:if condition="{typeparam}">
<input type="hidden" name="type" value="{typeparam}" />
</f:if>
<div class="kesearchbox">
<div class="inputwrapper">
<div class="input">
<input type="search" id="ke_search_sword" name="tx_kesearch_pi1[sword]"
value="{searchword -> f:format.raw()}" placeholder="{searchwordDefault}"
{f:if(condition: '{extConf.allowEmptySearch} == 0' , then: 'required' )}
minlength="{extConf.searchWordLength}" />
</div>
<div class="reset hidden"
title="{f:translate(key: 'LLL:EXT:ke_search/Resources/Private/Language/locallang_searchbox.xlf:reset_button')}">
<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 512 512">
<path
d="M437.5 386.6L306.9 256l130.6-130.6c14.1-14.1 14.1-36.8 0-50.9-14.1-14.1-36.8-14.1-50.9 0L256 205.1 125.4 74.5c-14.1-14.1-36.8-14.1-50.9 0-14.1 14.1-14.1 36.8 0 50.9L205.1 256 74.5 386.6c-14.1 14.1-14.1 36.8 0 50.9 14.1 14.1 36.8 14.1 50.9 0L256 306.9l130.6 130.6c14.1 14.1 36.8 14.1 50.9 0 14-14.1 14-36.9 0-50.9z" />
</svg>
<div class="spacer"></div>
</div>
</div>
<button class="submit" type="submit"
title="{f:translate(key: 'LLL:EXT:ke_search/Resources/Private/Language/locallang_searchbox.xlf:submit')}">
<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 512 512">
<path
d="M344.5 298c15-23.6 23.8-51.6 23.8-81.7 0-84.1-68.1-152.3-152.1-152.3C132.1 64 64 132.2 64 216.3c0 84.1 68.1 152.3 152.1 152.3 30.5 0 58.9-9 82.7-24.4l6.9-4.8L414.3 448l33.7-34.3-108.5-108.6 5-7.1zm-43.1-166.8c22.7 22.7 35.2 52.9 35.2 85s-12.5 62.3-35.2 85c-22.7 22.7-52.9 35.2-85 35.2s-62.3-12.5-85-35.2c-22.7-22.7-35.2-52.9-35.2-85s12.5-62.3 35.2-85c22.7-22.7 52.9-35.2 85-35.2s62.3 12.5 85 35.2z" />
</svg>
</button>
<f:if condition="{page}">
<input id="kesearchpagenumber" type="hidden" name="tx_kesearch_pi1[page]" value="{page}" />
</f:if>
<input id="resetFilters" type="hidden" name="tx_kesearch_pi1[resetFilters]" value="0" />
<f:if condition="{sortByField}">
<input id="sortByField" type="hidden" name="tx_kesearch_pi1[sortByField]" value="{sortByField}" />
</f:if>
<f:if condition="{sortByDir}">
<input id="sortByDir" type="hidden" name="tx_kesearch_pi1[sortByDir]" value="{sortByDir}" />
</f:if>
<f:if condition="{filters}">
<div id="kesearch_filters">
<f:render partial="Filters"
arguments="{conf: conf, numberofresults: numberofresults, resultrows: resultrows, filters: filters}" />
</div>
</f:if>
</fieldset>
</form>
</f:section>
</html>