Initial commit
This commit is contained in:
@@ -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">← </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"> →</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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user