Initial commit - Typo3 11.5.41
This commit is contained in:
10
typo3conf/ext/news/Resources/Private/.htaccess
Normal file
10
typo3conf/ext/news/Resources/Private/.htaccess
Normal file
@@ -0,0 +1,10 @@
|
||||
# Apache < 2.3
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
</IfModule>
|
||||
|
||||
# Apache >= 2.3
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
@@ -0,0 +1,47 @@
|
||||
{namespace core = TYPO3\CMS\Core\ViewHelpers}
|
||||
|
||||
<f:if condition="{rows.above}">
|
||||
<f:then>
|
||||
<table class="table table-condensed table-hover news-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">{header -> f:format.raw()}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<f:if condition="{rows.below}">
|
||||
<tfoot class="setting-switcher">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<a href="#" data-identifier="newscollapse-{id}">
|
||||
<span class="down">{core:icon(identifier:'actions-move-down')}</span>
|
||||
<span class="up">{core:icon(identifier:'actions-move-up')}</span>
|
||||
Toggle settings
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</f:if>
|
||||
<tbody>
|
||||
<f:for each="{rows.above}" as="item">
|
||||
<tr>
|
||||
<th>{item.0 -> f:format.raw()}</th>
|
||||
<td>{item.1 -> f:format.raw()}</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
<f:if condition="{rows.below}">
|
||||
<tbody class="hidden-settings hidden" id="newscollapse-{id}">
|
||||
<f:for each="{rows.below}" as="item">
|
||||
<tr>
|
||||
<th>{item.0 -> f:format.raw()}</th>
|
||||
<td>{item.1 -> f:format.raw()}</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
</f:if>
|
||||
</table>
|
||||
</f:then>
|
||||
<f:else>
|
||||
{header -> f:format.raw()}
|
||||
</f:else>
|
||||
</f:if>
|
||||
@@ -0,0 +1 @@
|
||||
<f:cObject typoscriptObjectPath="tt_content.list.20.{data.list_type}" data="{data}" table="tt_content" />
|
||||
80
typo3conf/ext/news/Resources/Private/Language/Tours.xlf
Normal file
80
typo3conf/ext/news/Resources/Private/Language/Tours.xlf
Normal file
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2017-01-04T11:47:18Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="adminModule.title" xml:space="preserve">
|
||||
<source>EXT:news - Administration module</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.description" xml:space="preserve">
|
||||
<source>The administration module of EXT:news is a powerful tool for editors to create, edit and find news records.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.general.title" xml:space="preserve">
|
||||
<source>Administration module</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.general.content" xml:space="preserve">
|
||||
<source>This is the best place for creating new records and editing existing ones</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.filter.title" xml:space="preserve">
|
||||
<source>Toggle filter</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.filter.content" xml:space="preserve">
|
||||
<source>Show and hide a filter which helps you finding news records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.filter2.title" xml:space="preserve">
|
||||
<source>Please click the filter icon!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.filter2.content" xml:space="preserve">
|
||||
<source>Open the filter settings!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.searchWord.title" xml:space="preserve">
|
||||
<source>Search by text</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.searchWord.content" xml:space="preserve">
|
||||
<source>Search in title, teaser and text</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.timeRestriction.title" xml:space="preserve">
|
||||
<source>Filter by time range</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.timeRestriction.content" xml:space="preserve">
|
||||
<source>Use one of the 2 date fields to filter for news records between the defined dates.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.topNewsRestriction.title" xml:space="preserve">
|
||||
<source>Filter top news records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.topNewsRestriction.content" xml:space="preserve">
|
||||
<source>News records can be flagged as "top news". Use this filter to search for top news records or non top news records.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.sortingField.title" xml:space="preserve">
|
||||
<source>Sort the result</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.sortingField.content" xml:space="preserve">
|
||||
<source>Sort the result by the defined field and sorting direction</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.recursive.title" xml:space="preserve">
|
||||
<source>Extend search to child pages</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.recursive.content" xml:space="preserve">
|
||||
<source>Set the level of pages which are searched for news records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.categoryTree.title" xml:space="preserve">
|
||||
<source>Category filter</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.categoryTree.content" xml:space="preserve">
|
||||
<source>Select categories you want to use for additional filtering</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.categoryConjunction.title" xml:space="preserve">
|
||||
<source>Category conjunction</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.categoryConjunction.content" xml:space="preserve">
|
||||
<source>Select how the category selection should be used</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.actionSwitch.title" xml:space="preserve">
|
||||
<source>Switch to the pid listing</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="adminModule.actionSwitch.content" xml:space="preserve">
|
||||
<source>A powerful view is hidden here! It enables you to find those pages which contain news records.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
137
typo3conf/ext/news/Resources/Private/Language/locallang.xlf
Normal file
137
typo3conf/ext/news/Resources/Private/Language/locallang.xlf
Normal file
@@ -0,0 +1,137 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:47:10Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="search-text" xml:space="preserve">
|
||||
<source>There are %1$s results for "%2$s".</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="search-start" xml:space="preserve">
|
||||
<source>Start search</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="search-noresult" xml:space="preserve">
|
||||
<source>No news found.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="search-subject" xml:space="preserve">
|
||||
<source>Text</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="search-minimumDate" xml:space="preserve">
|
||||
<source>Minimum Date</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="search-maximumDate" xml:space="preserve">
|
||||
<source>Maximum Date</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="more-link" xml:space="preserve">
|
||||
<source>Read more</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="back-link" xml:space="preserve">
|
||||
<source>Back</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="related-news" xml:space="preserve">
|
||||
<source>Related News</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="related-files" xml:space="preserve">
|
||||
<source>Related Files</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="related-links" xml:space="preserve">
|
||||
<source>Related Links</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="author" xml:space="preserve">
|
||||
<source>Created by %s</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="author_simple" xml:space="preserve">
|
||||
<source>Created by</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="paginate_overall" xml:space="preserve">
|
||||
<source>Page %s of %s</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="paginate_next" xml:space="preserve">
|
||||
<source>Next</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="paginate_previous" xml:space="preserve">
|
||||
<source>Previous</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="categories" xml:space="preserve">
|
||||
<source>Categories</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tags" xml:space="preserve">
|
||||
<source>Tags</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="entry" xml:space="preserve">
|
||||
<source>entry</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="entries" xml:space="preserve">
|
||||
<source>entries</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.01" xml:space="preserve">
|
||||
<source>January</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.02" xml:space="preserve">
|
||||
<source>February</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.03" xml:space="preserve">
|
||||
<source>March</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.04" xml:space="preserve">
|
||||
<source>April</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.05" xml:space="preserve">
|
||||
<source>May</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.06" xml:space="preserve">
|
||||
<source>June</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.07" xml:space="preserve">
|
||||
<source>July</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.08" xml:space="preserve">
|
||||
<source>August</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.09" xml:space="preserve">
|
||||
<source>September</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.10" xml:space="preserve">
|
||||
<source>October</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.11" xml:space="preserve">
|
||||
<source>November</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="month.12" xml:space="preserve">
|
||||
<source>December</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="day.1" xml:space="preserve">
|
||||
<source>Monday</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="day.2" xml:space="preserve">
|
||||
<source>Tuesday</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="day.3" xml:space="preserve">
|
||||
<source>Wednesday</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="day.4" xml:space="preserve">
|
||||
<source>Thursday</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="day.5" xml:space="preserve">
|
||||
<source>Friday</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="day.6" xml:space="preserve">
|
||||
<source>Saturday</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="day.7" xml:space="preserve">
|
||||
<source>Sunday</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="dateFormat" xml:space="preserve">
|
||||
<source>%m/%d/%Y</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="list_nonewsfound" xml:space="preserve">
|
||||
<source>No news available.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="list_nocategoriesfound" xml:space="preserve">
|
||||
<source>No categories available.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="newsNotFound" xml:space="preserve">
|
||||
<source>The news record is not available anymore.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
552
typo3conf/ext/news/Resources/Private/Language/locallang_be.xlf
Normal file
552
typo3conf/ext/news/Resources/Private/Language/locallang_be.xlf
Normal file
@@ -0,0 +1,552 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:47:18Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="pi1_title" xml:space="preserve">
|
||||
<source>News system</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pi1_plus_wiz_description" xml:space="preserve">
|
||||
<source>Versatile news system</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_tab.settings" xml:space="preserve">
|
||||
<source>Settings</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_tab.additional" xml:space="preserve">
|
||||
<source>Additional</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_tab.template" xml:space="preserve">
|
||||
<source>Template</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode" xml:space="preserve">
|
||||
<source>What to display</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.news_list" xml:space="preserve">
|
||||
<source>List view</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.news_listOnly" xml:space="preserve">
|
||||
<source>List view (without overloading detail view)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.news_detail" xml:space="preserve">
|
||||
<source>Detail view</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.news_searchform" xml:space="preserve">
|
||||
<source>Search form</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.news_searchresult" xml:space="preserve">
|
||||
<source>Search result</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.news_datemenu" xml:space="preserve">
|
||||
<source>Date menu</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.news_selectedlist" xml:space="preserve">
|
||||
<source>List of selected items</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.category_list" xml:space="preserve">
|
||||
<source>Category Menu</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.not_configured" xml:space="preserve">
|
||||
<source>No view yet configured</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.optgroup_search" xml:space="preserve">
|
||||
<source>Search</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.optgroup_others" xml:space="preserve">
|
||||
<source>Others</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.mode.tag_list" xml:space="preserve">
|
||||
<source>Tag list</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.archiveRestriction" xml:space="preserve">
|
||||
<source>Archive</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.archiveRestriction.active" xml:space="preserve">
|
||||
<source>Only active (non archived)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.archiveRestriction.archived" xml:space="preserve">
|
||||
<source>Archived</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderBy" xml:space="preserve">
|
||||
<source>Sort by</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderBy.uid" xml:space="preserve">
|
||||
<source>Uid</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderBy.sorting" xml:space="preserve">
|
||||
<source>Manual sorting</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderBy.tstamp" xml:space="preserve">
|
||||
<source>Last edited</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderBy.crdate" xml:space="preserve">
|
||||
<source>Created</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderBy.datetime" xml:space="preserve">
|
||||
<source>Given date/time</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderBy.title" xml:space="preserve">
|
||||
<source>Title</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderDirection" xml:space="preserve">
|
||||
<source>Sort direction</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderDirection.asc" xml:space="preserve">
|
||||
<source>Ascending</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.orderDirection.desc" xml:space="preserve">
|
||||
<source>Descending</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.dateField" xml:space="preserve">
|
||||
<source>Date field to use</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.dateField.datetime" xml:space="preserve">
|
||||
<source>Given date/time</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.dateField.archive" xml:space="preserve">
|
||||
<source>Archive date</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.categories" xml:space="preserve">
|
||||
<source>Category selection</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.categoryConjunction" xml:space="preserve">
|
||||
<source>Category mode</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.categoryConjunction.all" xml:space="preserve">
|
||||
<source>Don't care, show all</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.categoryConjunction.or" xml:space="preserve">
|
||||
<source>Show items with selected categories (OR)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.categoryConjunction.and" xml:space="preserve">
|
||||
<source>Show items with selected categories (AND)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.categoryConjunction.notand" xml:space="preserve">
|
||||
<source>Do NOT show items with selected categories (AND)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.categoryConjunction.notor" xml:space="preserve">
|
||||
<source>Do NOT show items with selected categories (OR)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.includeSubCategories" xml:space="preserve">
|
||||
<source>Include subcategories</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.timeRestriction" xml:space="preserve">
|
||||
<source>Time limit (LOW): higher than given time</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.timeRestrictionHigh" xml:space="preserve">
|
||||
<source>Time limit (HIGH): News less than given time</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.topNewsRestriction" xml:space="preserve">
|
||||
<source>Top News</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.topNewsRestriction.1" xml:space="preserve">
|
||||
<source>only Top News records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.topNewsRestriction.2" xml:space="preserve">
|
||||
<source>except Top News records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.singleNews" xml:space="preserve">
|
||||
<source>Show a single news record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.previewHiddenRecords" xml:space="preserve">
|
||||
<source>Allow preview of hidden records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.previewHiddenRecords.I.0" xml:space="preserve">
|
||||
<source>No</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.previewHiddenRecords.I.1" xml:space="preserve">
|
||||
<source>Yes</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.previewHiddenRecords.I.2" xml:space="preserve">
|
||||
<source>Defined in TypoScript</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.recursive.I.inherit" xml:space="preserve">
|
||||
<source>Defined in TypoScript</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.no-constraint" xml:space="preserve">
|
||||
<source>[no constraint]</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_general.selectedList" xml:space="preserve">
|
||||
<source>List of articles</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_template.mediaMaxWidth" xml:space="preserve">
|
||||
<source>Max width for media elements</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_template.mediaMaxHeight" xml:space="preserve">
|
||||
<source>Max height for media elements</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_template.cropMaxCharacters" xml:space="preserve">
|
||||
<source>Length of teaser (in chars)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_template.templateLayout" xml:space="preserve">
|
||||
<source>Template Layout</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.templateSwitch.1" xml:space="preserve">
|
||||
<source>1</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.templateSwitch.2" xml:space="preserve">
|
||||
<source>2</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.detailPid" xml:space="preserve">
|
||||
<source>PageId for single news display</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.backPid" xml:space="preserve">
|
||||
<source>PageId to return to</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.listPid" xml:space="preserve">
|
||||
<source>PageId for list display</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.limit" xml:space="preserve">
|
||||
<source>Max records displayed</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.offset" xml:space="preserve">
|
||||
<source>Starting with given news record. 0 means first record, 1 the 2nd one!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.hidePagination" xml:space="preserve">
|
||||
<source>Hide the pagination</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.itemsPerPage" xml:space="preserve">
|
||||
<source>Items per Page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.topNewsFirst" xml:space="preserve">
|
||||
<source>Sort "Top news" before</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.disableOverrideDemand" xml:space="preserve">
|
||||
<source>Disable override demand</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.excludeAlreadyDisplayedNews" xml:space="preserve">
|
||||
<source>Exclude already displayed news</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="flexforms_additional.tags" xml:space="preserve">
|
||||
<source>Tags</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagemodule.pageNotAvailable" xml:space="preserve">
|
||||
<source>Page with uid "%s" is not available anymore!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagemodule.recordNotAvailable" xml:space="preserve">
|
||||
<source>Record with uid "%s" is not available anymore!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagemodule.newsNotAvailable" xml:space="preserve">
|
||||
<source>News record with uid "%s" is not available anymore!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagemodule.switchToPage" xml:space="preserve">
|
||||
<source>Switch to this page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagemodule_simple" xml:space="preserve">
|
||||
<source>Simple list</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagemodule_advanced" xml:space="preserve">
|
||||
<source>Advanced list</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagemodule_complex" xml:space="preserve">
|
||||
<source>Full list</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.prependAtCopy" xml:space="preserve">
|
||||
<source>Prepend at copy: Prepend string "copy X".</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.categoryRestriction" xml:space="preserve">
|
||||
<source>Category restriction: Restrict the available categories in news records. PageTsConfig:
|
||||
TCEFORM.tx_news_domain_model_news.categories.PAGE_TSCONFIG_IDLIST=120. This feature is currently under development and not beeing expected to work!
|
||||
</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.categoryRestriction.current_pid" xml:space="preserve">
|
||||
<source>Categories from current page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.categoryRestriction.siteroot" xml:space="preserve">
|
||||
<source>Categories from site root</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.categoryRestriction.pages_tsconfig" xml:space="preserve">
|
||||
<source>Page TsConfig</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.categoryRestriction.none" xml:space="preserve">
|
||||
<source>No restriction</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.categoryBeGroupTceFormsRestriction" xml:space="preserve">
|
||||
<source>Editor needs to have permissions to all selected categories to save a news item</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.manualSorting" xml:space="preserve">
|
||||
<source>Enable manual sorting of news records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.contentElementRelation" xml:space="preserve">
|
||||
<source>Use content element relation:If set, content elements can be added to news records.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.contentElementPreview" xml:space="preserve">
|
||||
<source>Improved preview of content element relations:If set, the preview in the backend is rendered as in the page module.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.tagPid" xml:space="preserve">
|
||||
<source>Define pid of tag records:Tags are collected on one central page.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.archiveDate" xml:space="preserve">
|
||||
<source>Archive Date: Define if the archive date is a "Date" or "Date & Time"</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.archiveDate.date" xml:space="preserve">
|
||||
<source>Date</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.archiveDate.datetime" xml:space="preserve">
|
||||
<source>Date & Time</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.showImporter" xml:space="preserve">
|
||||
<source>Show importer:Backend module to import into news</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.storageUidImporter" xml:space="preserve">
|
||||
<source>UID of storage to use when importing files/images:Default (fileadmin) storage is 1</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.resourceFolderImporter" xml:space="preserve">
|
||||
<source>In which folder should the importer save files/images (has to exist)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.showAdministrationModule" xml:space="preserve">
|
||||
<source>Show administration module:Backend module to administrate news records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.rteForTeaser" xml:space="preserve">
|
||||
<source>Enable a RTE for the teaser field.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.dateTimeNotRequired" xml:space="preserve">
|
||||
<source>Disable required date field:If set, the date field is not required and not filled automatically when creating a new record.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.hidePageTreeForAdministrationModule" xml:space="preserve">
|
||||
<source>Hide page tree for Administration module: To simplify the usability, hide the page tree for the administration module.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.advancedMediaPreview" xml:space="preserve">
|
||||
<source>Advanced preview configuration for media files: If enabled, more options are available for editors defining where an media element should be displayed.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="extmng.slugBehaviour" xml:space="preserve">
|
||||
<source>Slug behaviour: uniqueInSite: The same slug can be used for news in different sites. Use this setting *only* if no news records are shared between sites. "unique" means that same news title will lead to different slug names.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="usersettings.overlay" xml:space="preserve">
|
||||
<source>Use this overlay for news categories in the Backend</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="usersettings.no-languages-available" xml:space="preserve">
|
||||
<source>There are no languages available, so nothing to choose.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="start_import" xml:space="preserve">
|
||||
<source>Start import with %s record(s).</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tag_suggest" xml:space="preserve">
|
||||
<source>Tag "%s" could not be found, wanna create it? <strong>Click here</strong></source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tag_suggest2" xml:space="preserve">
|
||||
<source>Tag could not be found, wanna create it? Click here!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tag_suggest_error_no-tag" xml:space="preserve">
|
||||
<source>No tag submitted!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tag_suggest_error_no-newsid" xml:space="preserve">
|
||||
<source>No news id given!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tag_suggest_error_no-pid-found" xml:space="preserve">
|
||||
<source>No pid for the tag record could be found by reading settings of Extension Manager!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tag_suggest_error_no-tag-created" xml:space="preserve">
|
||||
<source>No new tag created!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tag_suggest_error_no-pid-defined" xml:space="preserve">
|
||||
<source>No page defined to save tag. Please add the id in the settings of the extension manager.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.headline" xml:space="preserve">
|
||||
<source>Settings</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.recursive" xml:space="preserve">
|
||||
<source>Recursive</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.timeRange" xml:space="preserve">
|
||||
<source>Time range</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.timeRestriction" xml:space="preserve">
|
||||
<source>Time Restriction</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.timeRestrictionHigh" xml:space="preserve">
|
||||
<source>Time Restriction High</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.createNewCategory" xml:space="preserve">
|
||||
<source>Create a new category</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.createNewNewsRecord" xml:space="preserve">
|
||||
<source>Create new news record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.createNewTag" xml:space="preserve">
|
||||
<source>Create new tag record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.topNewsYes" xml:space="preserve">
|
||||
<source>Yes</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.topNewsNo" xml:space="preserve">
|
||||
<source>No</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.searchWord" xml:space="preserve">
|
||||
<source>Search</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.newsListing" xml:space="preserve">
|
||||
<source>News Listing</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.newsCount" xml:space="preserve">
|
||||
<source>%s news records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.newsPidListing" xml:space="preserve">
|
||||
<source>News Pid listing</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="module.donate" xml:space="preserve">
|
||||
<source>Support & Donate</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.title" xml:space="preserve">
|
||||
<source>News administration</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.nopageselected" xml:space="preserve">
|
||||
<source>Please click the page title in the page tree to the left to show the records on that page.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.newsPidListing.header" xml:space="preserve">
|
||||
<source>List pages with count of news & category records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.newsPidListing.description" xml:space="preserve">
|
||||
<source>Choose a recursive level to display your page tree with the related entries. Click on the page title to show the news entries of the page.
|
||||
</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.nolimit" xml:space="preserve">
|
||||
<source>No limit defined in setting "%s"! Include the default TypoScript in the root page.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.toggleForm" xml:space="preserve">
|
||||
<source>Show/Hide filter</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.nonewsfound" xml:space="preserve">
|
||||
<source>No news found</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.nonewsfoundText" xml:space="preserve">
|
||||
<source>The current page does not contain any news records. Either select another page in the page tree on the left or create the first news record on this page.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.nonewsfoundSwitch" xml:space="preserve">
|
||||
<source>See all pages containing news records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.filter.hidden" xml:space="preserve">
|
||||
<source>Hidden</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.filter.hidden.hidden" xml:space="preserve">
|
||||
<source>only hidden</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.filter.hidden.nonHidden" xml:space="preserve">
|
||||
<source>only non-hidden</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.title" xml:space="preserve">
|
||||
<source>Support & Donate</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.link" xml:space="preserve">
|
||||
<source>Click so see all options</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.lead_intro" xml:space="preserve">
|
||||
<source>Great that you are using this extension!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.lead_full" xml:space="preserve">
|
||||
<source>The editors have created %d articles with %d relations to categories.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.lead_news_only" xml:space="preserve">
|
||||
<source>The editors have created %d articles.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.lead_none" xml:space="preserve">
|
||||
<source>Did you just setup the system? No articles yet created.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.support" xml:space="preserve">
|
||||
<source>Help supporting further development</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.why" xml:space="preserve">
|
||||
<source>Why?</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.why.text" xml:space="preserve">
|
||||
<source>The news extension is a powerful tool with a lot of features, always trying to thrive on the latest
|
||||
possibilities of the TYPO3 core.
|
||||
This implies a lot of work bringing this to the TYPO3 community.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.how" xml:space="preserve">
|
||||
<source>How?</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.how.text" xml:space="preserve">
|
||||
<source>There are multiple ways to support the further development:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.invoice" xml:space="preserve">
|
||||
<source>Invoice</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.invoice.sub" xml:space="preserve">
|
||||
<source>An invoice is possible!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.invoice.text" xml:space="preserve">
|
||||
<source>I can create a proper invoice to keep your accounting happy - contact me for details.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.patreon.sub" xml:space="preserve">
|
||||
<source>Support me on patreon.com</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.patreon.text" xml:space="preserve">
|
||||
<source>Support me on patreon and get access to additional extensions and snippets as reward.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.paypal.sub" xml:space="preserve">
|
||||
<source>Donate via PayPal</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.paypal.text" xml:space="preserve">
|
||||
<source>Support me by a donation on paypal.com. It is just one click away.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.amazon" xml:space="preserve">
|
||||
<source>Amazon wishlist</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.amazon.sub" xml:space="preserve">
|
||||
<source>Satisfy a wish of my Amazon wishlist</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.amazon.text" xml:space="preserve">
|
||||
<source>Most of the listed products are for my family and our hobby cooking. Make us happy!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.sponsors" xml:space="preserve">
|
||||
<source>Current sponsors</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="administration.donation.sponsors.text" xml:space="preserve">
|
||||
<source>The following companies and people have already supported me.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="news-folder" xml:space="preserve">
|
||||
<source>News</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="news-page" xml:space="preserve">
|
||||
<source>Page with news plugins</source>
|
||||
</trans-unit>
|
||||
|
||||
<trans-unit id="import.header" xml:space="preserve">
|
||||
<source>News Importer</source>
|
||||
</trans-unit>
|
||||
|
||||
<trans-unit id="import.choose_a_job" xml:space="preserve">
|
||||
<source>Choose a job</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.description" xml:space="preserve">
|
||||
<source>This is the "News importer module". </source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.done" xml:space="preserve">
|
||||
<source>The import has been completed. Reload the module to start a new one.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.backupwarning" xml:space="preserve">
|
||||
<source>It's strongly recommended to backup all news tables before running an import job.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.backupwarning.header" xml:space="preserve">
|
||||
<source>Important!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.nojobs" xml:space="preserve">
|
||||
<source>No jobs available for the importer.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.error.configuration.title" xml:space="preserve">
|
||||
<source>The configuration for the import is incomplete!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.error.configuration.resourceFolderImporter" xml:space="preserve">
|
||||
<source>Please define the setting "resourceFolderImporter" in the configuration of the extension manager! The given directory will contain all imported files.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.error.configuration.resourceFolderImporter.notExist" xml:space="preserve">
|
||||
<source>The directory defined in the setting "resourceFolderImporter" does not exist!</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="import.error.configuration.storageUidImporter" xml:space="preserve">
|
||||
<source>Please define the setting "storageUidImporter" in the configuration of the extension manager! The given id is the used file storage.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="record.savingdisabled.header">
|
||||
<source>Saving is disabled</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="record.savingdisabled.content">
|
||||
<source>This record has the following categories assigned that are not defined in your permissions:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="hiddenContentElements.title">
|
||||
<source>Content elements are hidden</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="hiddenContentElements.description">
|
||||
<source>Content elements are hidden in sys folders of type "news"!</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:47:26Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id=".description" xml:space="preserve">
|
||||
<source>Category record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id=".details" xml:space="preserve">
|
||||
<source>Category for news records.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="_.seeAlso" xml:space="preserve">
|
||||
<source>See also the website http://www.news.com/</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sys_language_uid.description" xml:space="preserve">
|
||||
<source>Language of the category</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="hidden.description" xml:space="preserve">
|
||||
<source>Hidden categories are never shown in the frontend.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="title.description" xml:space="preserve">
|
||||
<source>Title of the category</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="parentcategory.description" xml:space="preserve">
|
||||
<source>Select a parent category of this record to build a category tree.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="image.description" xml:space="preserve">
|
||||
<source>Optional image of a category.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="description.description" xml:space="preserve">
|
||||
<source>Optional description of a category.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="single_pid.description" xml:space="preserve">
|
||||
<source>Choose a page which is used to show the detail view of news records related with this category. This setting is overridden with a configured page inside the plugin's settings.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="shortcut.description" xml:space="preserve">
|
||||
<source>Optional link of a category.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:47:43Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="switchableControllerActions.description" xml:space="preserve">
|
||||
<source>Set the view you want to display</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="switchableControllerActions.details" xml:space="preserve">
|
||||
<source>List view shows all news records. Latest uses a time restriction, the rest should be understandable</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.orderBy.description" xml:space="preserve">
|
||||
<source>Define the sorting field</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.orderDirection.description" xml:space="preserve">
|
||||
<source>Define the sorting direction</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.dateField.description" xml:space="preserve">
|
||||
<source>Select the field which is used to build the date menu.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.categories.description" xml:space="preserve">
|
||||
<source>Choose the categories to define which news items are displayed</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.categoryConjunction.description" xml:space="preserve">
|
||||
<source>Define how the selected categories are used</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.includeSubCategories.description" xml:space="preserve">
|
||||
<source>Include all subcategories of the selected categories too.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.categoryConjunction.details" xml:space="preserve">
|
||||
<source>"Don't care": No category restriction is set. "Show items with selected categories OR": A news records need to be related with at least one of the selected categories. "Show selected categories AND". A news record need to be related to all selected categories. "Do not show" is the opposite of above.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.archiveRestriction.description" xml:space="preserve">
|
||||
<source>Choose between: 1) Show all news records, 2) Show only active news records, 3) Show only archived news records. The archive date is defined in each news record. If no archive date is set, the news record can't be archived.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.timeRestriction.description" xml:space="preserve">
|
||||
<source>Set a time limit. This can either be an integer and means seconds, e.g. 86400 means 1 day(60 * 60 * 24) or a string like "-4 days" or "-3 hours". The prepended - is important! Only news items after the given time are shown.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.timeRestrictionHigh.description" xml:space="preserve">
|
||||
<source>Set a time limit. This can either be an integer and means seconds, e.g. 86400 means 1 day(60 * 60 * 24) or a string like "-4 days" or "-3 hours". The prepended - is important! Only news items before the given time are shown.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.topNewsRestriction.description" xml:space="preserve">
|
||||
<source>A news record can be set as top news. Therefore it can be defined to show either all news records, only top news or only nontop news.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.singleNews.description" xml:space="preserve">
|
||||
<source>Display the selected single news record.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.previewHiddenRecords.description" xml:space="preserve">
|
||||
<source>If set, hidden records are also displayed. This is needed if you want to preview still hidden records. Be aware that any hidden records on the current page are shown as well.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.startingpoint.description" xml:space="preserve">
|
||||
<source>Define the pages/sysfolders which hold the news records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.recursive.description" xml:space="preserve">
|
||||
<source>Select the recursion level of the startingpoint.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.detailPid.description" xml:space="preserve">
|
||||
<source>Select the page on which the detail view should be shown.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.backPid.description" xml:space="preserve">
|
||||
<source>Select the page which is used to return to on detail view.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.listPid.description" xml:space="preserve">
|
||||
<source>Select the page on which the list view is shown.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.limit.description" xml:space="preserve">
|
||||
<source>Set the maximum amount of news records to be displayed</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.offset.description" xml:space="preserve">
|
||||
<source>Set the offset to start with. E.g. 3 means that the first 2 records are not rendered.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.topNewsFirst.description" xml:space="preserve">
|
||||
<source>If checked: No matter which sorting is defined, top news are shown as first news records.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.disableOverrideDemand.description" xml:space="preserve">
|
||||
<source>If checked, this plugin won't be influenced through the override demand settings which can be e.g. a category via URL parameter.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.tags.description" xml:space="preserve">
|
||||
<source>Filter by given tags.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.media.maxWidth.description" xml:space="preserve">
|
||||
<source>Maximal width of media elements (images, videos, ...)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.media.maxHeight.description" xml:space="preserve">
|
||||
<source>Maximal height of media elements (images, videos, ...)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.cropMaxCharacters.description" xml:space="preserve">
|
||||
<source>Define the length of the teaser in chars. The teaser is typically cropped in the list view.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.templateLayout.description" xml:space="preserve">
|
||||
<source>Select a special layout for displaying news records.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:47:52Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id=".description" xml:space="preserve">
|
||||
<source>Link record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id=".details" xml:space="preserve">
|
||||
<source>Relation to other pages and records.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="_.seeAlso" xml:space="preserve">
|
||||
<source>See also the website http://www.news.com/</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="hidden.description" xml:space="preserve">
|
||||
<source>Hidden elements are never shown in the frontend.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="title.description" xml:space="preserve">
|
||||
<source>Optional title of a link.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="description.description" xml:space="preserve">
|
||||
<source>Description of a link.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="uri.description" xml:space="preserve">
|
||||
<source>Link to a file, ... .</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:48:11Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id=".description" xml:space="preserve">
|
||||
<source>News record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id=".details" xml:space="preserve">
|
||||
<source>Versatile news system.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="sys_language_uid.description" xml:space="preserve">
|
||||
<source>Language of the news record.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="starttime.description" xml:space="preserve">
|
||||
<source>Define a date on which the news record should be shown.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="endtime.description" xml:space="preserve">
|
||||
<source>Define a date on which the news record should be hidden.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="fe_group.description" xml:space="preserve">
|
||||
<source>Select the user groups which are allowed to see the news record.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="editlock.description" xml:space="preserve">
|
||||
<source>If checked, this news record can only be edited by administrators.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="hidden.description" xml:space="preserve">
|
||||
<source>Hidden records are not shown in the frontend.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="title.description" xml:space="preserve">
|
||||
<source>News title</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="alternative_title.description" xml:space="preserve">
|
||||
<source>Alternative Title will be used as the title for the browser window / tab</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="teaser.description" xml:space="preserve">
|
||||
<source>Be aware that it can be cropped.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="type.description" xml:space="preserve">
|
||||
<source>Select the type which can be either a normal news record, a link to an internal page or a link to an external page.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="istopnews.description" xml:space="preserve">
|
||||
<source>Top news records can get a special treated concerning layout, sorting, ...</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="author.description" xml:space="preserve">
|
||||
<source>Author of the news record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="author_email.description" xml:space="preserve">
|
||||
<source>Email address of the author</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="datetime.description" xml:space="preserve">
|
||||
<source>Date of the news record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="archive.description" xml:space="preserve">
|
||||
<source>Archive date. A date is required if the news record should once be treated as archived news.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="bodytext.description" xml:space="preserve">
|
||||
<source>Main content of the news record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="categories.description" xml:space="preserve">
|
||||
<source>Select the categories which are related to this record.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tags.description" xml:space="preserve">
|
||||
<source>Define and select tags which fit to the article.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="content_elements.description" xml:space="preserve">
|
||||
<source>Content elements can be used to generate feature rich news articles.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="keywords.description" xml:space="preserve">
|
||||
<source>Define keywords which can be used for SEO optimizations.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="description.description" xml:space="preserve">
|
||||
<source>Define a description which can be used for SEO optimizations.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="related.description" xml:space="preserve">
|
||||
<source>Select related news records.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="related_from.description" xml:space="preserve">
|
||||
<source>Show news which select current news record as related.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="related_links.description" xml:space="preserve">
|
||||
<source>Define related links to internal and external pages.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2016-11-08T22:47:43Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="showinpreview.description" xml:space="preserve">
|
||||
<source>If set, this media element will be rendered in the list view (or where it is desired by changing the templates).</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:48:17Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id=".description" xml:space="preserve">
|
||||
<source>Tag record</source>
|
||||
</trans-unit>
|
||||
<trans-unit id=".details" xml:space="preserve">
|
||||
<source>News records can be tagged by those records</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="_.seeAlso" xml:space="preserve">
|
||||
<source>See also the website http://www.news.com/</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="hidden.description" xml:space="preserve">
|
||||
<source>Hidden elements are never shown in the frontend.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="title.description" xml:space="preserve">
|
||||
<source>Title of the tag.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
173
typo3conf/ext/news/Resources/Private/Language/locallang_db.xlf
Normal file
173
typo3conf/ext/news/Resources/Private/Language/locallang_db.xlf
Normal file
@@ -0,0 +1,173 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:48:25Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="tx_news_domain_model_news.tabs.relations" xml:space="preserve">
|
||||
<source>Relations</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.palettes.alternativeTitles" xml:space="preserve">
|
||||
<source>Alternative Titles</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.palettes.dates" xml:space="preserve">
|
||||
<source>Dates</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news" xml:space="preserve">
|
||||
<source>News</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.alternative_title" xml:space="preserve">
|
||||
<source>Alternative title</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.teaser" xml:space="preserve">
|
||||
<source>Teaser</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.datetime" xml:space="preserve">
|
||||
<source>Date & Time</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.archive" xml:space="preserve">
|
||||
<source>Archive</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.archive.placeholder" xml:space="preserve">
|
||||
<source>Define when the news should be listed in the archive</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.categories" xml:space="preserve">
|
||||
<source>Categories</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.related" xml:space="preserve">
|
||||
<source>Related News</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.related_from" xml:space="preserve">
|
||||
<source>Related News (from)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.fal_related_files" xml:space="preserve">
|
||||
<source>Related Files</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.fal_related_files.add" xml:space="preserve">
|
||||
<source>Add related file</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.related_links" xml:space="preserve">
|
||||
<source>Related Links</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.type.I.0" xml:space="preserve">
|
||||
<source>News</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.type.I.1" xml:space="preserve">
|
||||
<source>Internal link</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.type.I.2" xml:space="preserve">
|
||||
<source>External Page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.fal_media" xml:space="preserve">
|
||||
<source>Media file</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.fal_media.add" xml:space="preserve">
|
||||
<source>Add media file</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.istopnews" xml:space="preserve">
|
||||
<source>Top news</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.content_elements" xml:space="preserve">
|
||||
<source>Content elements</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.tags" xml:space="preserve">
|
||||
<source>Tags</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.tags.add" xml:space="preserve">
|
||||
<source>Add a new tag</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.tags.list" xml:space="preserve">
|
||||
<source>List all tags</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.tags.edit" xml:space="preserve">
|
||||
<source>Edit tag</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.keywords.placeholder" xml:space="preserve">
|
||||
<source>Keyword1, keyword2, keyword3</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_tag.seo.seo_title" xml:space="preserve">
|
||||
<source><![CDATA[<title>-Tag]]></source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_tag.seo.seo_description" xml:space="preserve">
|
||||
<source>Meta-Description</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_tag.seo.seo_headline" xml:space="preserve">
|
||||
<source>Headline (H1)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_tag.seo.composeo_text" xml:space="preserve">
|
||||
<source>SEO Text-Container</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_category.tabs.seo" xml:space="preserve">
|
||||
<source>SEO</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_category.image" xml:space="preserve">
|
||||
<source>Image</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_category.single_pid" xml:space="preserve">
|
||||
<source>Single-view page for news from this category</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_category.shortcut" xml:space="preserve">
|
||||
<source>News category shortcut</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_category.seo.seo_title" xml:space="preserve">
|
||||
<source><![CDATA[<title>-Tag]]></source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_category.seo.seo_description" xml:space="preserve">
|
||||
<source>Meta-Description</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_category.seo.seo_headline" xml:space="preserve">
|
||||
<source>Headline (H1)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_category.seo.seo_text" xml:space="preserve">
|
||||
<source>SEO Text-Container</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_link" xml:space="preserve">
|
||||
<source>News Link Element</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_link.title" xml:space="preserve">
|
||||
<source>Title</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_link.description" xml:space="preserve">
|
||||
<source>Description</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_link.uri" xml:space="preserve">
|
||||
<source>URL</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_link.uri.placeholder" xml:space="preserve">
|
||||
<source>www.domain.org</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_tag.tabs.seo" xml:space="preserve">
|
||||
<source>SEO</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_tag" xml:space="preserve">
|
||||
<source>News Tag</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_tag.title" xml:space="preserve">
|
||||
<source>Title</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_media.showinpreview" xml:space="preserve">
|
||||
<source>Show in list views</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_media.showinviews" xml:space="preserve">
|
||||
<source>Show in views</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_media.showinviews.0" xml:space="preserve">
|
||||
<source>Show only in detail views</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_media.showinviews.1" xml:space="preserve">
|
||||
<source>Show in all views</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_media.showinviews.2" xml:space="preserve">
|
||||
<source>Show only in list views</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="tx_news_domain_model_news.path_segment" xml:space="preserve">
|
||||
<source>Speaking URL path segment</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="be_user.tx_news_categorymounts" xml:space="preserve">
|
||||
<source>News: Category restriction</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="notes" xml:space="preserve">
|
||||
<source>Notes</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:48:33Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="mlang_tabs_tab" xml:space="preserve">
|
||||
<source>News Import</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="mlang_labels_tablabel" xml:space="preserve">
|
||||
<source>Generic import module</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="mlang_labels_tabdescr" xml:space="preserve">
|
||||
<source>Extensions can provide an import service from various sources (e.g. RSS).</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<xliff version="1.0">
|
||||
<file source-language="en" datatype="plaintext" original="messages" date="2014-06-02T11:48:40Z" product-name="news">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="mlang_tabs_tab" xml:space="preserve">
|
||||
<source>News Administration</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="mlang_labels_tablabel" xml:space="preserve">
|
||||
<source>Administrate news records in a separate module</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="mlang_labels_tabdescr" xml:space="preserve">
|
||||
<source>This module provides an easy way to administrate news and category records.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,8 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers">
|
||||
<div class="news-administration">
|
||||
<n:includeFile path="../typo3conf/ext/news/Resources/Public/Css/Backend/administration.css"/>
|
||||
<f:flashMessages/>
|
||||
<f:render section="content"/>
|
||||
</div>
|
||||
</html>
|
||||
14
typo3conf/ext/news/Resources/Private/Layouts/Detail.html
Normal file
14
typo3conf/ext/news/Resources/Private/Layouts/Detail.html
Normal file
@@ -0,0 +1,14 @@
|
||||
<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="{settings.cssFile}">
|
||||
<n:includeFile path="{settings.cssFile}" />
|
||||
</f:if>
|
||||
|
||||
<div class="news news-single">
|
||||
<div class="article" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<f:render section="content" />
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
12
typo3conf/ext/news/Resources/Private/Layouts/General.html
Normal file
12
typo3conf/ext/news/Resources/Private/Layouts/General.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<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="{settings.cssFile}">
|
||||
<n:includeFile path="{settings.cssFile}" />
|
||||
</f:if>
|
||||
|
||||
<div class="news">
|
||||
<f:render section="content" />
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,17 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<!-- categories -->
|
||||
<span class="news-list-category">
|
||||
<f:for each="{categories}" as="category">
|
||||
<f:if condition="{category.shortcut}">
|
||||
<f:then>
|
||||
<f:link.typolink parameter="{category.shortcut}">
|
||||
{category.title}
|
||||
</f:link.typolink>
|
||||
</f:then>
|
||||
<f:else>
|
||||
{category.title}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</span>
|
||||
</html>
|
||||
@@ -0,0 +1,23 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:if condition="{media}">
|
||||
<!-- media files -->
|
||||
<div class="news-img-wrap">
|
||||
<f:for each="{media}" as="mediaElement">
|
||||
<div class="outer">
|
||||
<f:if condition="{mediaElement.originalResource.type} == 2">
|
||||
<f:render partial="Detail/MediaImage" arguments="{mediaElement: mediaElement, settings:settings}"/>
|
||||
</f:if>
|
||||
<f:if condition="{mediaElement.originalResource.type} == 3">
|
||||
<f:render partial="Detail/MediaVideo" arguments="{mediaElement: mediaElement, settings:settings}"/>
|
||||
</f:if>
|
||||
<f:if condition="{mediaElement.originalResource.type} == 4">
|
||||
<f:render partial="Detail/MediaVideo" arguments="{mediaElement: mediaElement, settings:settings}"/>
|
||||
</f:if>
|
||||
<f:if condition="{mediaElement.originalResource.type} == 5">
|
||||
<f:render partial="Detail/MediaImage" arguments="{mediaElement: mediaElement, settings:settings}"/>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:if>
|
||||
</html>
|
||||
@@ -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}', height:'{settings.detail.media.image.lightbox.height}')}" title="{mediaElement.title}" class="{settings.detail.media.image.lightbox.class}" rel="{settings.detail.media.image.lightbox.rel}">
|
||||
<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>
|
||||
@@ -0,0 +1,15 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<div class="mediaelement">
|
||||
<div class="mediaelement-video">
|
||||
<f:media file="{mediaElement}" width="{settings.detail.media.video.width}" height="{settings.detail.media.video.height}"/>
|
||||
</div>
|
||||
|
||||
<f:if condition="{mediaElement.description}">
|
||||
<div class="medialement-alternative-content">
|
||||
<p class="news-img-caption">
|
||||
{mediaElement.description}
|
||||
</p>
|
||||
</div>
|
||||
</f:if>
|
||||
</div>
|
||||
</html>
|
||||
@@ -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.firstPreview}">
|
||||
<f:variable name="ogImagePath" value="{f:uri.image(src:'{newsItem.firstPreview.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>
|
||||
@@ -0,0 +1,3 @@
|
||||
<div xmlns:rx="http://typo3.org/ns/Reelworx/RxShariff/ViewHelper" data-namespace-typo3-fluid="true">
|
||||
<rx:shariff services="facebook,xing,twitter" enableBackend="true" />
|
||||
</div>
|
||||
103
typo3conf/ext/news/Resources/Private/Partials/List/Item.html
Normal file
103
typo3conf/ext/news/Resources/Private/Partials/List/Item.html
Normal 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}">
|
||||
<span itemprop="headline">{newsItem.title}</span>
|
||||
</n:link>
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<f:if condition="{newsItem.mediaPreviews}">
|
||||
<!-- media preview element -->
|
||||
<f:then>
|
||||
<div class="news-img-wrap">
|
||||
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
|
||||
<f:alias map="{mediaElement: newsItem.mediaPreviews.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}" 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)}"/>
|
||||
</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}" 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)}"/>
|
||||
</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.html()}</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div itemprop="description">{newsItem.bodytext -> f:format.crop(maxCharacters: '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.html()}</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>
|
||||
@@ -0,0 +1,67 @@
|
||||
<f:if condition="{pagination.allPageNumbers -> f:count()} > 1">
|
||||
<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>…</li>
|
||||
</f:if>
|
||||
<f:for each="{pagination.allPageNumbers}" as="page">
|
||||
<f:if condition="{page} == {paginator.currentPageNumber}">
|
||||
<f:then>
|
||||
<li class="current">{page}</li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li>
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: page},addQueryString:1)}">{page}</a>
|
||||
</li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
</f:for>
|
||||
<f:if condition="{pagination.hasMorePages}">
|
||||
<li>…</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>
|
||||
</f:if>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,282 @@
|
||||
<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="Backend/Default" />
|
||||
|
||||
<f:section name="categoryTree">
|
||||
<ul class="{class}">
|
||||
<f:for each="{categories}" as="category">
|
||||
<li>
|
||||
<label title="{category.item.uid}: {category.item.title -> f:format.htmlspecialchars()}">
|
||||
<input type="checkbox" {n:be.isCheckboxActive(id:category.item.uid,categories:demand.selectedCategories)} name="tx_news_web_newsadministration[demand][selectedCategories][]" value="{category.item.uid}" /> {category.item.title}
|
||||
</label>
|
||||
|
||||
<f:if condition="{category.children}">
|
||||
<f:render section="categoryTree" arguments="{categories: category.children, demand:demand}" />
|
||||
</f:if>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:section>
|
||||
|
||||
<f:section name="content">
|
||||
<h1>
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.title" />
|
||||
</h1>
|
||||
|
||||
<f:if condition="{showSupportArea}">
|
||||
<f:be.infobox title=" {f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.donation.support')}" state="-1">
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.donation.why.text')}
|
||||
<br>
|
||||
<f:link.action action="donate" class="btn btn-default">
|
||||
<core:icon identifier="ext-news-donation" />
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.donation.link')}
|
||||
</f:link.action>
|
||||
</f:be.infobox>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{page} == 0">
|
||||
<div class="alert alert-info">
|
||||
<div class="message-body">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.nopageselected" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
<f:if condition="{showSearchForm}">
|
||||
<f:form id="administrationForm" name="demand" object="{demand}" method="get" data="{autoSubmitForm:autoSubmitForm}">
|
||||
<input type="hidden" name="formSubmitted" value="1">
|
||||
<input type="hidden" name="route" value="/module/web/NewsAdministration/">
|
||||
<input type="hidden" name="token" value="{moduleToken}">
|
||||
<input type="hidden" name="id" value="{page}">
|
||||
<f:form.checkbox style="display:none" property="selectedCategories" value="0" />
|
||||
|
||||
<div id="setting-container" style="{f:if(condition:hideForm,then:'display:none',else:'')}">
|
||||
<div class="settings">
|
||||
<div class="row form-horizontal">
|
||||
<div class="col-xs-6">
|
||||
<f:if condition="{filters.searchWord}">
|
||||
<div class="form-group">
|
||||
<label for="searchWord" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:module.searchWord" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-8">
|
||||
<f:form.textfield property="searchWord" id="searchWord" class="form-control t3js-clearable" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{filters.timeRestriction}">
|
||||
<div class="form-group">
|
||||
<label for="timeRestriction" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:module.timeRange" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-8">
|
||||
<div class="input-group">
|
||||
<f:form.textfield type="datetime" property="timeRestriction" id="timeRestriction" class="form-control t3js-datetimepicker t3js-clearable" data="{date-type:'datetime',date-offset:'0'}" />
|
||||
<span class="input-group-btn">
|
||||
<label class="btn btn-default" for="timeRestriction">
|
||||
<span class="fa fa-calendar"></span>
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="timeRestriction" class="col-xs-4 control-label">
|
||||
-
|
||||
</label>
|
||||
<div class="col-xs-8">
|
||||
<div class="input-group">
|
||||
<f:form.textfield type="datetime" property="timeRestrictionHigh" id="timeRestrictionHigh" class="form-control t3js-datetimepicker t3js-clearable" data="{date-type:'datetime',date-offset:'0'}" />
|
||||
<span class="input-group-btn">
|
||||
<label class="btn btn-default" for="timeRestrictionHigh">
|
||||
<span class="fa fa-calendar"></span>
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{filters.topNewsRestriction}">
|
||||
<div class="form-group">
|
||||
<label for="topNewsRestriction" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.topNewsRestriction" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-8">
|
||||
<f:form.select property="topNewsRestriction" class="form-control" options="{
|
||||
0:'',
|
||||
1:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.topNewsRestriction.1\')}',
|
||||
2:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.topNewsRestriction.2\')}'
|
||||
}" id="topNewsRestriction" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{filters.hidden}">
|
||||
<div class="form-group">
|
||||
<label for="hidden" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.filter.hidden" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-8">
|
||||
<f:form.select property="hidden" class="form-control" options="{
|
||||
0:'',
|
||||
1:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.filter.hidden.hidden\')}',
|
||||
2:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.filter.hidden.nonHidden\')}'
|
||||
}" id="hidden" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{filters.archived}">
|
||||
<div class="form-group">
|
||||
<label for="archived" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.archiveRestriction" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-8">
|
||||
<f:form.select property="archived" class="form-control" options="{
|
||||
0:'',
|
||||
1:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.archiveRestriction.active\')}',
|
||||
2:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.archiveRestriction.archived\')}'
|
||||
}" id="archived" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{filters.sortingField}">
|
||||
<div class="form-group">
|
||||
<label for="sortingField" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.orderBy" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-4">
|
||||
<f:form.select class="form-control" property="sortingField" options="{
|
||||
title:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.orderBy.title\')}',
|
||||
datetime:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.orderBy.datetime\')}',
|
||||
tstamp:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.orderBy.tstamp\')}',
|
||||
archive:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:tx_news_domain_model_news.archive\')}',
|
||||
author:'{f:translate(key: \'LLL:EXT:frontend/Resources/Private/Language/locallang_tca.xlf:pages.author_formlabel\')}'
|
||||
}" id="sortingField" />
|
||||
</div>
|
||||
<div class="col-xs-4">
|
||||
<f:form.select class="form-control" property="sortingDirection" options="{
|
||||
asc:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.orderDirection.asc\')}',
|
||||
desc:'{f:translate(key: \'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.orderDirection.desc\')}'
|
||||
}" id="sortingDirection" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{filters.number}">
|
||||
<div class="form-group">
|
||||
<label for="recursive" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:module.recursive" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-4">
|
||||
<f:form.textfield type="number" additionalAttributes="{min:'0'}" property="recursive" id="recursive" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-offset-4 col-xs-8">
|
||||
<f:form.submit value="{f:translate(key:'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:search')}" class="btn btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<f:if condition="{filters.categories}">
|
||||
<div class="category-tree">
|
||||
<div class="form-group">
|
||||
<div class="tree-wrapper">
|
||||
<f:render section="categoryTree" arguments="{demand:demand,categories: categories, class:'list-tree'}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<f:if condition="{categories}">
|
||||
<f:if condition="{filters.categoryConjunction}">
|
||||
<div class="form-group">
|
||||
<label for="categoryConjunction" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.categoryConjunction" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-4">
|
||||
<f:form.select class="form-control" property="categoryConjunction" id="categoryConjunction" options="{AND:'AND', OR:'OR', notor:'notor', notand:'notand'}" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{filters.includeSubCategories}">
|
||||
<div class="form-group">
|
||||
<label for="includeSubCategories" class="col-xs-4 control-label">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:flexforms_general.includeSubCategories" />
|
||||
</label>
|
||||
|
||||
<div class="col-xs-8">
|
||||
<f:form.checkbox class="checkbox" property="includeSubCategories" value="1" id="includeSubCategories" />
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:form>
|
||||
</f:if>
|
||||
<f:if condition="{newsCount}">
|
||||
<f:then>
|
||||
<div class="result">
|
||||
{news -> f:format.raw()}
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="callout callout-info">
|
||||
<div class="media">
|
||||
<div class="media-left">
|
||||
<span class="fa-stack fa-lg callout-icon"> <i class="fa fa-circle fa-stack-2x"></i>
|
||||
<i class="fa fa-info fa-stack-1x"></i> </span>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<h4 class="callout-title">
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.nonewsfound')}</h4>
|
||||
<div class="callout-body">
|
||||
<p>
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.nonewsfoundText')}</p>
|
||||
<p>
|
||||
<f:link.action action="newsPidListing" class="btn btn-info">{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.nonewsfoundSwitch')}</f:link.action>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</f:else>
|
||||
</f:if>
|
||||
<script type="text/javascript">
|
||||
T3_THIS_LOCATION = {requestUri -> f:format.raw()};
|
||||
|
||||
function jumpToUrl(URL) {
|
||||
window.location.href = URL;
|
||||
return false;
|
||||
}
|
||||
function jumpExt(URL,anchor) { //
|
||||
var anc = anchor?anchor:"";
|
||||
window.location.href = URL+(T3_THIS_LOCATION?"&returnUrl="+T3_THIS_LOCATION:"")+anc;
|
||||
return false;
|
||||
}
|
||||
function jumpSelf(URL) { //
|
||||
window.location.href = URL+(T3_RETURN_URL?"&returnUrl="+T3_RETURN_URL:"");
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1 @@
|
||||
empty on purpose.
|
||||
@@ -0,0 +1 @@
|
||||
empty on purpose.
|
||||
@@ -0,0 +1 @@
|
||||
empty on purpose.
|
||||
@@ -0,0 +1,52 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
|
||||
<f:layout name="Backend/Default" />
|
||||
|
||||
<f:section name="content">
|
||||
<h1>
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.newsPidListing.header" />
|
||||
</h1>
|
||||
<p class="lead">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:administration.newsPidListing.description" />
|
||||
</p>
|
||||
<f:form action="newsPidListing" class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label for="treeLevel" class="col-sm-3 control-label">
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.recursive" />
|
||||
</label>
|
||||
<div class="col-sm-4">
|
||||
<f:form.select class="form-control" name="treeLevel" id="treeLevel" options="{1:1,2:2,3:3,4:4,5:5,6:6,7:7}" value="{treeLevel}" additionalAttributes="{onchange:'this.form.submit()'}" />
|
||||
</div>
|
||||
</div>
|
||||
</f:form>
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr class="t3-row-header">
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages" />
|
||||
</th>
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:tx_news_domain_model_news" />
|
||||
</th>
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_category" />
|
||||
</th>
|
||||
<th>
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:tx_news_domain_model_tag" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<f:for each="{tree}" as="item">
|
||||
<tr class="{f:if(condition: item.countAll, else: 'hide_line')}">
|
||||
<td nowrap="nowrap">
|
||||
<f:format.html parseFuncTSPath="">{item.HTML}</f:format.html>
|
||||
<f:link.action action="index" additionalParams="{id:item.row.uid}" title="UID: {item.row.uid}">{item.row.title}</f:link.action>
|
||||
</td>
|
||||
<td>{f:if(condition:item.countNews,then:item.countNews,else:'')}</td>
|
||||
<td>{f:if(condition:item.countCategories,then:item.countCategories,else:'')}</td>
|
||||
<td>{f:if(condition:item.countTags,then:item.countTags,else:'')}</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,51 @@
|
||||
<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/Category/List.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:if condition="{categories}">
|
||||
<f:then>
|
||||
|
||||
|
||||
<f:render section="categoryTree" arguments="{categories:categories,overwriteDemand:overwriteDemand}" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:translate key="list_nocategoriesfound" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="categoryTree">
|
||||
<ul>
|
||||
<f:for each="{categories}" as="category">
|
||||
{n:category.count(categoryUid:category.item.uid) -> f:variable(name: 'categoryUsageCount')}
|
||||
<li>
|
||||
<f:if condition="{category.item.uid} == {overwriteDemand.categories}">
|
||||
<f:then>
|
||||
<f:link.page title="{category.item.title}" class="active" pageUid="{settings.listPid}"
|
||||
additionalParams="{tx_news_pi1:{overwriteDemand:{categories: category.item.uid}}}">{category.item.title}
|
||||
</f:link.page>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:link.page title="{category.item.title}" pageUid="{settings.listPid}"
|
||||
additionalParams="{tx_news_pi1:{overwriteDemand:{categories: category.item.uid}}}">{category.item.title}
|
||||
</f:link.page>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{categoryUsageCount}">({categoryUsageCount})</f:if>
|
||||
|
||||
<f:if condition="{category.children}">
|
||||
<f:render section="categoryTree" arguments="{categories: category.children,overwriteDemand:overwriteDemand}" />
|
||||
</f:if>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,78 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
|
||||
<f:layout name="Backend/Default"/>
|
||||
|
||||
<f:section name="content">
|
||||
<h1>{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:import.header')}</h1>
|
||||
<p class="lead">{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:import.description')}</p>
|
||||
<div class="callout callout-warning">
|
||||
<div class="media">
|
||||
<div class="media-left">
|
||||
<span class="fa-stack fa-lg callout-icon">
|
||||
<i class="fa fa-circle fa-stack-2x"></i>
|
||||
<i class="fa fa-warning fa-stack-1x"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<h4 class="callout-title">
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:import.backupwarning.header')}
|
||||
</h4>
|
||||
<div class="callout-body">
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:import.backupwarning')}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<f:if condition="{error}">
|
||||
<div class="alert alert-danger">
|
||||
<div class="message-header">
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:import.error.configuration.title')}
|
||||
</div>
|
||||
<div class="message-body">
|
||||
<f:translate key="LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:{error}" default="{error}"/>
|
||||
</div>
|
||||
</div>
|
||||
</f:if>
|
||||
<div id="news-import-form">
|
||||
<f:if condition="{availableJobs -> f:count()} > 1">
|
||||
<f:then>
|
||||
<div class="form-group">
|
||||
<label for="jobSelector" class="col-xs-2 control-label">
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:import.choose_a_job')}
|
||||
</label>
|
||||
|
||||
<div class="col-xs-3">
|
||||
<f:form.select id="jobSelector" options="{availableJobs}" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
<br/><br/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="alert alert-info">
|
||||
<f:form.select id="jobSelector" options="{}" style="display:none"/>
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:import.nojobs')}
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
|
||||
<div id="job" style="display:none;">
|
||||
<div class="progress">
|
||||
|
||||
<div id="progressBar" class="progress-bar progress-bar-success" role="progressbar" aria-valuemin="0"
|
||||
aria-valuemax="100"
|
||||
style="width: 0;">0%
|
||||
</div>
|
||||
</div>
|
||||
<button id="startButton" class="btn btn-primary">Start</button>
|
||||
</div>
|
||||
<div id="news-import-done" class="alert alert-success" style="display:none">
|
||||
{f:translate(key:'LLL:EXT:news/Resources/Private/Language/locallang_be.xlf:import.done')}
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var moduleUrl = '{f:format.raw(value: moduleUrl)}';
|
||||
</script>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/DateMenu.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<div class="news-menu-view">
|
||||
<ul>
|
||||
<f:for each="{data.single}" key="year" as="months">
|
||||
<li>
|
||||
{year}
|
||||
<ul>
|
||||
<f:for each="{months}" key="month" as="count">
|
||||
<f:if condition="{0:year, 1:month} == {0:overwriteDemand.year, 1:overwriteDemand.month}">
|
||||
<f:then>
|
||||
<li class="item itemactive">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li class="item">
|
||||
</f:else>
|
||||
</f:if>
|
||||
<f:link.action action="list" pageUid="{listPid}" arguments="{overwriteDemand:{year: year, month: month}}"><f:translate key="month.{month}" /> {year}</f:link.action>
|
||||
({count} <f:translate key="{f:if(condition: '{count} == 1', then: 'entry', else: 'entries')}" />)
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</div>
|
||||
</f:section>
|
||||
</html>
|
||||
208
typo3conf/ext/news/Resources/Private/Templates/News/Detail.html
Normal file
208
typo3conf/ext/news/Resources/Private/Templates/News/Detail.html
Normal file
@@ -0,0 +1,208 @@
|
||||
<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.teaser}">
|
||||
<!-- teaser -->
|
||||
<div class="teaser-text" itemprop="description">
|
||||
<f:format.html>{newsItem.teaser}</f:format.html>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{newsItem.contentElements}">
|
||||
<!-- content elements -->
|
||||
<f:cObject typoscriptObjectPath="lib.tx_news.contentElementRendering">{newsItem.contentElementIdList}</f:cObject>
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Detail/MediaContainer" arguments="{media: newsItem.mediaNonPreviews, settings:settings}" />
|
||||
|
||||
<!-- 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 @@
|
||||
<f:translate extensionName="news" key="newsNotFound" />
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="{xslFile}"?>
|
||||
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
|
||||
http://www.google.com/schemas/sitemap-news/0.9
|
||||
http://www.google.com/schemas/sitemap-news/0.9/sitemap-news.xsd">
|
||||
<f:for each="{items}" as="item">
|
||||
<f:if condition="{item.loc}">
|
||||
<url>
|
||||
<loc>{item.loc}</loc>
|
||||
<news:news>
|
||||
<news:publication>
|
||||
<news:name>{settings.list.rss.channel.title}</news:name>
|
||||
<news:language>{settings.list.rss.channel.language}</news:language>
|
||||
</news:publication>
|
||||
<news:publication_date><f:format.date format="Y-m-d">{item.data.datetime}</f:format.date></news:publication_date>
|
||||
<news:title>{item.data.title}</news:title>
|
||||
</news:news>
|
||||
</url>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</urlset>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
{namespace n=GeorgRinger\News\ViewHelpers}<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>{settings.list.rss.channel.title}</title>
|
||||
<link href="{settings.list.rss.channel.link}"/>
|
||||
<link rel="self" href="{f:uri.page(pageType: settings.list.rss.channel.typeNum, absolute: 'true')}"/>
|
||||
<id>{f:uri.page(absolute: 'true')}</id>
|
||||
<updated><f:format.date format="c" date="now"/></updated>
|
||||
<f:if condition="{news}">
|
||||
<f:for each="{news}" as="newsItem">
|
||||
<entry>
|
||||
<id>{settings.list.rss.channel.link}news-{newsItem.uid}.atom</id>
|
||||
<title>{newsItem.title -> f:format.htmlspecialchars()}</title>
|
||||
<author>
|
||||
<name><f:if condition="{newsItem.author}"><f:then>{newsItem.author}</f:then><f:else>-</f:else></f:if></name>
|
||||
<f:if condition="{newsItem.authorEmail}"><email>{newsItem.authorEmail}</email></f:if>
|
||||
</author>
|
||||
<published><f:format.date format="c">{newsItem.datetime}</f:format.date></published>
|
||||
<updated><f:format.date format="c">{newsItem.tstamp}</f:format.date></updated>
|
||||
<link rel="alternate" type="text/html" href="{n:link(newsItem: newsItem, settings: settings, uriOnly: '1', configuration: '{forceAbsoluteUrl: 1}') -> f:format.htmlspecialchars()}"/>
|
||||
<summary>{newsItem.teaser -> f:format.stripTags() -> f:format.htmlspecialchars()}</summary>
|
||||
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
|
||||
<f:format.html>{newsItem.bodytext}</f:format.html>
|
||||
</div></content>
|
||||
</entry>
|
||||
</f:for>
|
||||
</f:if>
|
||||
</feed>
|
||||
@@ -0,0 +1,43 @@
|
||||
<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" 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:for each="{pagination.paginator.paginatedItems}" as="newsItem" iteration="iterator">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
|
||||
</f:for>
|
||||
<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,11 @@
|
||||
{namespace n=GeorgRinger\News\ViewHelpers}BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//TYPO3/NONSGML News system (news)//EN
|
||||
<f:if condition="{news}"><f:for each="{news}" as="newsItem">BEGIN:VEVENT
|
||||
UID:news-{newsItem.uid}@{settings.domain}
|
||||
DTSTAMP:<f:format.date format="%Y%m%dT%H%M%SZ"><f:variable name="tzoffset">{f:format.date(date: newsItem.tstamp, format: 'Z')}</f:variable>{newsItem.tstamp.timestamp - tzoffset}</f:format.date>
|
||||
DTSTART:<f:format.date format="%Y%m%dT%H%M%S%z">{newsItem.datetime}</f:format.date>
|
||||
DTEND:<f:format.date format="%Y%m%dT%H%M%S%z"><f:if condition="{newsItem.archive}"><f:then>{newsItem.archive}</f:then><f:else>{newsItem.datetime}</f:else></f:if></f:format.date>
|
||||
SUMMARY:{newsItem.title -> f:format.htmlspecialchars()}
|
||||
END:VEVENT
|
||||
</f:for></f:if>END:VCALENDAR
|
||||
49
typo3conf/ext/news/Resources/Private/Templates/News/List.xml
Normal file
49
typo3conf/ext/news/Resources/Private/Templates/News/List.xml
Normal file
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<html xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true">
|
||||
|
||||
<rss version="2.0"
|
||||
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>{settings.list.rss.channel.title}</title>
|
||||
<link>{settings.list.rss.channel.link}</link>
|
||||
<description>{settings.list.rss.channel.description}</description>
|
||||
<language>{settings.list.rss.channel.language}</language>
|
||||
<f:if condition="{settings.list.rss.channel.copyright}">
|
||||
<copyright>{settings.list.rss.channel.copyright}</copyright>
|
||||
</f:if>
|
||||
<pubDate><f:format.date format="r" date="now" /></pubDate>
|
||||
<lastBuildDate><f:format.date format="r" date="now" /></lastBuildDate>
|
||||
<f:if condition="{settings.list.rss.channel.category}">
|
||||
<category>{settings.list.rss.channel.category}</category>
|
||||
</f:if>
|
||||
<atom:link href="{f:uri.page(pageType: settings.list.rss.channel.typeNum, absolute: 'true')}" rel="self" type="application/rss+xml" />
|
||||
<generator>{settings.list.rss.channel.generator}</generator>
|
||||
<f:if condition="{news}">
|
||||
<f:for each="{news}" as="newsItem">
|
||||
<item>
|
||||
<guid isPermaLink="false">news-{newsItem.uid}</guid>
|
||||
<pubDate><f:format.date format="r">{newsItem.datetime}</f:format.date></pubDate>
|
||||
<title>{newsItem.title -> f:format.htmlspecialchars()}</title>
|
||||
<link><f:format.htmlentities><n:link newsItem="{newsItem}" settings="{settings}" configuration="{forceAbsoluteUrl: 1}" uriOnly="1" /></f:format.htmlentities></link>
|
||||
<description>{newsItem.teaser -> f:format.stripTags() -> f:format.htmlspecialchars()}</description>
|
||||
<content:encoded><f:format.cdata><f:format.html>{newsItem.bodytext}</f:format.html></f:format.cdata></content:encoded>
|
||||
<f:if condition="{newsItem.categories}">
|
||||
<f:for each="{newsItem.categories}" as="newsItemCategory">
|
||||
<category>{newsItemCategory.title -> f:format.htmlspecialchars()}</category>
|
||||
</f:for>
|
||||
</f:if>
|
||||
<f:if condition="{newsItem.firstPreview}">
|
||||
<f:variable name="ogImage" value="{f:uri.image(image:newsItem.firstPreview, absolute:1, maxWidth: '1920', maxHeight: '1920')}" />
|
||||
<enclosure url="{ogImage}" length="{n:imageSize(property:'size',image:ogImage)}" type="{newsItem.firstPreview.originalResource.mimeType}"/>
|
||||
</f:if>
|
||||
</item>
|
||||
</f:for>
|
||||
</f:if>
|
||||
</channel>
|
||||
</rss>
|
||||
</html>
|
||||
@@ -0,0 +1,32 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/SearchForm.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<div class="news-search-form">
|
||||
<f:form object="{search}" name="search" pageUid="{settings.listPid}">
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label for="news-subject"><f:translate key="search-subject" /></label>
|
||||
<f:form.textfield id="news-subject" property="subject" class="form-control"/>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="news-minimumDate"><f:translate key="search-minimumDate" /></label>
|
||||
<f:form.textfield id="news-minimumDate" property="minimumDate" type="date" class="form-control"/>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="news-maximumDate"><f:translate key="search-maximumDate" /></label>
|
||||
<f:form.textfield id="news-maximumDate" property="maximumDate" type="date" class="form-control"/>
|
||||
</div>
|
||||
|
||||
<f:form.submit value="{f:translate(key:'search-start')}" class="btn btn-default"/>
|
||||
</fieldset>
|
||||
</f:form>
|
||||
</div>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,29 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/SearchResult.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<div class="news-search-result">
|
||||
<f:if condition="{search}">
|
||||
<f:if condition="{news}">
|
||||
<f:then>
|
||||
<div class="count-msg">
|
||||
<f:translate key="search-text" arguments="{0:'{f:count(subject:news)}',1:search.subject}" />
|
||||
</div>
|
||||
<f:for each="{news}" as="newsItem">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}" />
|
||||
</f:for>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="no-news-found">
|
||||
<f:translate key="search-noresult" />
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,28 @@
|
||||
<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" id="news-container-{contentObjectData.uid}">
|
||||
<f:for each="{news}" as="newsItem" iteration="iterator">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
|
||||
</f:for>
|
||||
</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,7 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<div class="news news-single">
|
||||
<div class="article" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<f:render section="content"/>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<div class="news">
|
||||
<f:render section="content"/>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,17 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<!-- categories -->
|
||||
<span class="news-list-category">
|
||||
<f:for each="{categories}" as="category">
|
||||
<f:if condition="{category.shortcut}">
|
||||
<f:then>
|
||||
<f:link.typolink parameter="{category.shortcut}">
|
||||
{category.title}
|
||||
</f:link.typolink>
|
||||
</f:then>
|
||||
<f:else>
|
||||
{category.title}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</span>
|
||||
</html>
|
||||
@@ -0,0 +1,30 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<div class="extra">
|
||||
<!-- author -->
|
||||
<f:if condition="{newsItem.author}">
|
||||
<span class="glyphicon glyphicon-user"></span>
|
||||
<f:translate key="author" arguments="{0:newsItem.author}"/>
|
||||
|
|
||||
</f:if>
|
||||
|
||||
<!-- date -->
|
||||
<span class="glyphicon glyphicon-calendar"> </span>
|
||||
<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>
|
||||
|
||||
<!-- category -->
|
||||
<f:if condition="{newsItem.firstCategory}">
|
||||
| <span class="glyphicon glyphicon-tags"> </span>
|
||||
<span class="label label-info">{newsItem.firstCategory.title}</span>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{newsItem.tags}">
|
||||
| <span class="glyphicon glyphicon-tags"> </span> <span class="news-list-tags" itemprop="keywords">
|
||||
<f:for each="{newsItem.tags}" as="tag">
|
||||
<span class="label label-info">{tag.title}</span>
|
||||
</f:for>
|
||||
</span>
|
||||
</f:if>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
<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
|
||||
-->
|
||||
<n:excludeDisplayedNews newsItem="{newsItem}" />
|
||||
<div class="row news-list-item">
|
||||
<div class="col-md-3">
|
||||
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
|
||||
<f:if condition="{newsItem.mediaPreviews}">
|
||||
<f:then>
|
||||
<f:media class="img-responsive" file="{newsItem.mediaPreviews.0}" title="{newsItem.mediaPreviews.0.originalResource.title}" alt="{newsItem.mediaPreviews.0.originalResource.alternative}" loading="{settings.list.media.image.lazyLoading}" width="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.width)}" height="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else:'')}" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{settings.displayDummyIfNoMedia}">
|
||||
<f:image class="img-dummy img-responsive" src="{settings.list.media.dummyImage}" title="" alt="" loading="{settings.list.media.image.lazyLoading}" maxWidth="{settings.list.media.image.maxWidth}" maxHeight="{settings.list.media.image.maxHeight}" />
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</n:link>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9 articletype-{newsItem.type}{f:if(condition: newsItem.istopnews, then: ' topnews')}" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<h3 itemprop="headline">
|
||||
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
|
||||
{newsItem.title}
|
||||
</n:link>
|
||||
</h3>
|
||||
|
||||
<f:render partial="General/AdditionalInformation" arguments="{settings:settings,newsItem:newsItem}" />
|
||||
|
||||
<!-- teaser -->
|
||||
<div class="lead" itemprop="description">
|
||||
<n:removeMediaTags>
|
||||
<f:if condition="{newsItem.teaser}">
|
||||
<f:then>
|
||||
{newsItem.teaser -> f:format.crop(maxCharacters: '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.html()}
|
||||
</f:then>
|
||||
<f:else>
|
||||
{newsItem.bodytext -> f:format.crop(maxCharacters: '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.html()}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</n:removeMediaTags>
|
||||
</div>
|
||||
|
||||
<n:link newsItem="{newsItem}" settings="{settings}" class="btn btn-default btn-read-more" title="{newsItem.title}">
|
||||
<f:translate key="more-link" />
|
||||
</n:link>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
<f:if condition="{pagination.allPageNumbers -> f:count()} > 1">
|
||||
<ul class="f3-widget-paginator pagination">
|
||||
<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})}" 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})}" 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>…</li>
|
||||
</f:if>
|
||||
<f:for each="{pagination.allPageNumbers}" as="page">
|
||||
<f:if condition="{page} == {paginator.currentPageNumber}">
|
||||
<f:then>
|
||||
<li class="current"><span>{page}</span></li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li>
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: page},addQueryString:1)}">{page}</a>
|
||||
</li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
<f:if condition="{pagination.hasMorePages}">
|
||||
<li>…</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})}" 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})}" 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>
|
||||
</f:if>
|
||||
@@ -0,0 +1,43 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/Category/List.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:if condition="{categories}">
|
||||
<f:then>
|
||||
<f:render section="categoryTree" arguments="{categories:categories,overwriteDemand:overwriteDemand,class:'nav nav-sidebar category-menu-view'}" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:translate key="list_nocategoriesfound" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="categoryTree">
|
||||
<ul class="{class}">
|
||||
<f:for each="{categories}" as="category">
|
||||
<li>
|
||||
<f:if condition="{category.item.uid} == {overwriteDemand.categories}">
|
||||
<f:then>
|
||||
<f:link.page title="{category.item.title}" class="active" pageUid="{settings.listPid}"
|
||||
additionalParams="{tx_news_pi1:{overwriteDemand:{categories: category.item.uid}}}">{category.item.title}
|
||||
</f:link.page>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:link.page title="{category.item.title}" pageUid="{settings.listPid}"
|
||||
additionalParams="{tx_news_pi1:{overwriteDemand:{categories: category.item.uid}}}">{category.item.title}
|
||||
</f:link.page>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{category.children}">
|
||||
<f:render section="categoryTree" arguments="{categories: category.children,overwriteDemand:overwriteDemand,class:''}" />
|
||||
</f:if>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,32 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/DateMenu.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<ul class="nav nav-sidebar news-menu-view">
|
||||
<f:for each="{data.single}" key="year" as="months">
|
||||
<li>
|
||||
{year}
|
||||
<ul>
|
||||
<f:for each="{months}" key="month" as="count">
|
||||
<f:if condition="{0:year, 1:month} == {0:overwriteDemand.year, 1:overwriteDemand.month}">
|
||||
<f:then>
|
||||
<li class="active">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<f:link.action action="list" pageUid="{listPid}" arguments="{overwriteDemand:{year: year, month: month}}"><f:translate key="month.{month}" /> {year}</f:link.action>
|
||||
({count} <f:translate key="{f:if(condition: '{count} == 1', then: 'entry', else: 'entries')}" />)
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,199 @@
|
||||
<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="Detail" />
|
||||
|
||||
<!--
|
||||
=====================
|
||||
News/Detail.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:if condition="{newsItem}">
|
||||
<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>
|
||||
|
||||
<f:if condition="{newsItem.mediaNonPreviews}">
|
||||
<f:then>
|
||||
<f:render section="headline" arguments="{_all}" />
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<f:render section="inner-content" arguments="{_all}" />
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<f:for each="{newsItem.mediaNonPreviews}" as="mediaElement">
|
||||
<div class="thumbnail">
|
||||
<f:media file="{mediaElement}" class="img-responsive" />
|
||||
<f:if condition="{mediaElement.description}">
|
||||
<div class="caption">
|
||||
{mediaElement.description}
|
||||
</div>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:render section="headline" arguments="{_all}" />
|
||||
<f:render section="inner-content" arguments="{_all}" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="headline">
|
||||
<h1 itemprop="headline">{newsItem.title}</h1>
|
||||
<f:render partial="General/AdditionalInformation" arguments="{settings:settings,newsItem:newsItem}" />
|
||||
</f:section>
|
||||
|
||||
<f:section name="inner-content">
|
||||
<n:renderMedia news="{newsItem}" imgClass="img-responsive" videoClass="video-wrapper" audioClass="audio-wrapper">
|
||||
<f:if condition="{newsItem.teaser}">
|
||||
<!-- teaser -->
|
||||
<div class="lead" itemprop="description">
|
||||
<f:format.html>{newsItem.teaser}</f:format.html>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{newsItem.contentElements}">
|
||||
<!-- content elements -->
|
||||
<f:cObject typoscriptObjectPath="lib.tx_news.contentElementRendering">{newsItem.contentElementIdList}</f:cObject>
|
||||
</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 -->
|
||||
<f:link.page class="btn btn-default" pageUid="{settings.backPid}">
|
||||
<f:translate key="back-link" />
|
||||
</f:link.page>
|
||||
</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>
|
||||
|
||||
|
||||
<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.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>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,43 @@
|
||||
<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" 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:for each="{pagination.paginator.paginatedItems}" as="newsItem" iteration="iterator">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
|
||||
</f:for>
|
||||
<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="alert ">
|
||||
<f:translate key="list_nonewsfound" />
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<!--TYPO3SEARCH_begin-->
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,34 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/SearchForm.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:form class="news-search-form" object="{search}" name="search" pageUid="{settings.listPid}">
|
||||
<div class="form-group">
|
||||
<label for="news-subject">
|
||||
<f:translate key="search-subject" />
|
||||
</label>
|
||||
<f:form.textfield id="news-subject" property="subject" class="form-control" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="news-minimumDate">
|
||||
<f:translate key="search-minimumDate" />
|
||||
</label>
|
||||
<f:form.textfield id="news-minimumDate" property="minimumDate" type="date" class="form-control" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="news-maximumDate">
|
||||
<f:translate key="search-maximumDate" />
|
||||
</label>
|
||||
<f:form.textfield id="news-maximumDate" property="maximumDate" type="date" class="form-control" />
|
||||
</div>
|
||||
|
||||
<f:form.submit value="{f:translate(key:'search-start')}" class="btn btn-default" />
|
||||
</f:form>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,29 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/SearchResult.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<div class="news-search-result">
|
||||
<f:if condition="{search}">
|
||||
<f:if condition="{news}">
|
||||
<f:then>
|
||||
<div class="alert alert-success">
|
||||
<f:translate key="search-text" arguments="{0:'{f:count(subject:news)}',1:search.subject}" />
|
||||
</div>
|
||||
<f:for each="{news}" as="newsItem">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}" />
|
||||
</f:for>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="alert alert-info">
|
||||
<f:translate key="search-noresult" />
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,28 @@
|
||||
<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" id="news-container-{contentObjectData.uid}">
|
||||
<f:for each="{news}" as="newsItem" iteration="iterator">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
|
||||
</f:for>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="alert ">
|
||||
<f:translate key="list_nonewsfound" />
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<!--TYPO3SEARCH_begin-->
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,27 @@
|
||||
<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/Tag/List.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:if condition="{tags}">
|
||||
<ul class="nav nav-sidebar tag-menu-view">
|
||||
<f:for each="{tags}" as="tag">
|
||||
{n:tag.count(tagUid:tag.uid) -> f:variable(name: 'tagUsageCount')}
|
||||
<li class="{f:if(condition:'{tag.uid} == {overwriteDemand.tags}',then:'active',else:'')}">
|
||||
<f:link.page title="{tag.title}" pageUid="{settings.listPid}" additionalParams="{tx_news_pi1:{overwriteDemand:{tags: tag}}}">
|
||||
{tag.title}
|
||||
</f:link.page>
|
||||
<f:if condition="{tagUsageCount}">({tagUsageCount})</f:if>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:if>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<div class="news news-single">
|
||||
<div class="article" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<f:render section="content"/>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<div class="news">
|
||||
<f:render section="content"/>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,17 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<!-- categories -->
|
||||
<span class="news-list-category">
|
||||
<f:for each="{categories}" as="category">
|
||||
<f:if condition="{category.shortcut}">
|
||||
<f:then>
|
||||
<f:link.typolink parameter="{category.shortcut}">
|
||||
{category.title}
|
||||
</f:link.typolink>
|
||||
</f:then>
|
||||
<f:else>
|
||||
{category.title}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</span>
|
||||
</html>
|
||||
@@ -0,0 +1,34 @@
|
||||
<html data-namespace-typo3-fluid="true" xmlns:core="TYPO3\CMS\Core\ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers">
|
||||
|
||||
<div class="extra mb-3">
|
||||
|
||||
<f:comment>Author</f:comment>
|
||||
<f:if condition="{newsItem.author}">
|
||||
<i class="fas fa-user me-1"></i>
|
||||
<f:translate arguments="{0:newsItem.author}" key="author"/>
|
||||
|
|
||||
</f:if>
|
||||
|
||||
<f:comment>Date</f:comment>
|
||||
<i class="fas fa-calendar-alt me-1"> </i>
|
||||
<time datetime="{f:format.date(date:newsItem.datetime, format:'Y-m-d')}" itemprop="datePublished">
|
||||
<f:format.date format="{f:translate(key:'dateFormat')}">{newsItem.datetime}</f:format.date>
|
||||
</time>
|
||||
|
||||
<f:comment>Category</f:comment>
|
||||
<f:if condition="{newsItem.firstCategory}">
|
||||
| <i class="fas fa-folder-open me-1"></i>
|
||||
<span class="label label-info">{newsItem.firstCategory.title}</span>
|
||||
</f:if>
|
||||
|
||||
<f:comment>Tags</f:comment>
|
||||
<f:if condition="{newsItem.tags}">
|
||||
| <i class="fas fa-tags me-1"></i> <span class="news-list-tags me-1" itemprop="keywords">
|
||||
<f:for as="tag" each="{newsItem.tags}">
|
||||
<span class="label label-info me-1">{tag.title}</span>
|
||||
</f:for>
|
||||
</span>
|
||||
</f:if>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,55 @@
|
||||
<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
|
||||
-->
|
||||
<n:excludeDisplayedNews newsItem="{newsItem}" />
|
||||
<li class="list-group-item">
|
||||
<div class="row news-list-item mb-3">
|
||||
<div class="col-md-3">
|
||||
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
|
||||
<f:if condition="{newsItem.mediaPreviews}">
|
||||
<f:then>
|
||||
<f:media class="img-fluid" file="{newsItem.mediaPreviews.0}" title="{newsItem.mediaPreviews.0.originalResource.title}" alt="{newsItem.mediaPreviews.0.originalResource.alternative}" loading="{settings.list.media.image.lazyLoading}" width="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.width)}" height="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else:'')}" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{settings.displayDummyIfNoMedia}">
|
||||
<f:image class="img-dummy img-fluid" src="{settings.list.media.dummyImage}" title="" alt="" loading="{settings.list.media.image.lazyLoading}" maxWidth="{settings.list.media.image.maxWidth}" maxHeight="{settings.list.media.image.maxHeight}" />
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</n:link>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9 articletype-{newsItem.type}{f:if(condition: newsItem.istopnews, then: ' topnews')}" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<h3 itemprop="headline">
|
||||
<n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
|
||||
{newsItem.title}
|
||||
</n:link>
|
||||
</h3>
|
||||
|
||||
<f:render partial="General/AdditionalInformation" arguments="{settings:settings,newsItem:newsItem}" />
|
||||
|
||||
<!-- teaser -->
|
||||
<div class="lead" itemprop="description">
|
||||
<n:removeMediaTags>
|
||||
<f:if condition="{newsItem.teaser}">
|
||||
<f:then>
|
||||
{newsItem.teaser -> f:format.crop(maxCharacters: '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.html()}
|
||||
</f:then>
|
||||
<f:else>
|
||||
{newsItem.bodytext -> f:format.crop(maxCharacters: '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.html()}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</n:removeMediaTags>
|
||||
</div>
|
||||
|
||||
<n:link newsItem="{newsItem}" settings="{settings}" class="btn btn-primary btn-read-more" title="{newsItem.title}">
|
||||
<f:translate key="more-link" />
|
||||
</n:link>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</html>
|
||||
@@ -0,0 +1,59 @@
|
||||
<f:if condition="{pagination.allPageNumbers -> f:count()} > 1">
|
||||
<ul class="f3-widget-paginator pagination">
|
||||
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
|
||||
<f:then>
|
||||
<li class="previous page-item">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.previousPageNumber},addQueryString:1)}" class="page-link" 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 class="page-item">…</li>
|
||||
</f:if>
|
||||
<f:for each="{pagination.allPageNumbers}" as="page">
|
||||
<f:if condition="{page} == {paginator.currentPageNumber}">
|
||||
<f:then>
|
||||
<li class="page-item active"><span class="page-link">{page}</span></li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li class="page-item">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: page},addQueryString:1)}" class="page-link">{page}</a>
|
||||
</li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:for>
|
||||
<f:if condition="{pagination.hasMorePages}">
|
||||
<li class="page-item">…</li>
|
||||
</f:if>
|
||||
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
|
||||
<f:then>
|
||||
<li class="page-item next">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.nextPageNumber},addQueryString:1)}" class="page-link" title="{f:translate(key:'pagination.next')}">
|
||||
{f:translate(key:'widget.pagination.next', extensionName: 'fluid')}
|
||||
</a>
|
||||
</li>
|
||||
<f:comment>
|
||||
<li class="page-item last">
|
||||
<a href="{f:uri.action(action:actionName, arguments:{currentPage: pagination.lastPageNumber},addQueryString:1)}" class="page-link" 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>
|
||||
</f:if>
|
||||
@@ -0,0 +1,55 @@
|
||||
<html xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/Category/List.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:if condition="{categories}">
|
||||
<f:then>
|
||||
<f:render section="categoryTree" arguments="{categories:categories,overwriteDemand:overwriteDemand}" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:translate key="list_nocategoriesfound" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="categoryTree">
|
||||
<f:for each="{categories}" as="category">
|
||||
<n:multiCategoryLink.isCategoryActive list="{overwriteDemand.categories}" item="{category.item.uid}">
|
||||
<f:then>
|
||||
<div class="btn-group me-2" role="group">
|
||||
<f:link.page title="{category.item.title}" pageUid="{settings.listPid}"
|
||||
additionalParams="{tx_news_pi1:{overwriteDemand:{categories: category.item.uid}}}">
|
||||
<button type="button" class="btn btn-primary"><i class="fas fa-folder-open me-1"></i> {category.item.title}</button>
|
||||
</f:link.page>
|
||||
|
||||
<f:link.page title="{category.item.title}" pageUid="{settings.listPid}"
|
||||
additionalParams="{n:multiCategoryLink.arguments(mode:'remove',item:category.item.uid,list:overwriteDemand.categories)}">
|
||||
<button type="button" class="btn btn-primary active"><i class="far fa-minus"></i></button>
|
||||
</f:link.page>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="btn-group me-2" role="group">
|
||||
<f:link.page title="{category.item.title}" pageUid="{settings.listPid}"
|
||||
additionalParams="{tx_news_pi1:{overwriteDemand:{categories: category.item.uid}}}">
|
||||
<button type="button" class="btn btn-primary"><i class="fas fa-folder-open me-1"></i> {category.item.title}</button>
|
||||
</f:link.page>
|
||||
<f:link.page title="{category.item.title}" pageUid="{settings.listPid}"
|
||||
additionalParams="{n:multiCategoryLink.arguments(mode:'add',item:category.item.uid,list:overwriteDemand.categories)}">
|
||||
<button type="button" class="btn btn-primary"><i class="far fa-plus"></i></button>
|
||||
</f:link.page>
|
||||
</div>
|
||||
</f:else>
|
||||
</n:multiCategoryLink.isCategoryActive>
|
||||
|
||||
<f:if condition="{category.children}">
|
||||
<f:render section="categoryTree" arguments="{categories: category.children,overwriteDemand:overwriteDemand}" />
|
||||
</f:if>
|
||||
</f:for>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,32 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/DateMenu.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<ul class="nav nav-sidebar news-menu-view">
|
||||
<f:for each="{data.single}" key="year" as="months">
|
||||
<li>
|
||||
{year}
|
||||
<ul>
|
||||
<f:for each="{months}" key="month" as="count">
|
||||
<f:if condition="{0:year, 1:month} == {0:overwriteDemand.year, 1:overwriteDemand.month}">
|
||||
<f:then>
|
||||
<li class="active">
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<f:link.action action="list" pageUid="{listPid}" arguments="{overwriteDemand:{year: year, month: month}}"><f:translate key="month.{month}" /> {year}</f:link.action>
|
||||
({count} <f:translate key="{f:if(condition: '{count} == 1', then: 'entry', else: 'entries')}" />)
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,202 @@
|
||||
<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="Detail" />
|
||||
|
||||
<!--
|
||||
=====================
|
||||
News/Detail.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:if condition="{newsItem}">
|
||||
<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}">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination mt-3 justify-content-center">
|
||||
<f:if condition="{paginated.prev}">
|
||||
<li class="page-item">
|
||||
<n:link newsItem="{paginated.prev}" class="page-link" settings="{settings}">
|
||||
<span aria-hidden="true">«</span> {paginated.prev.title}
|
||||
</n:link>
|
||||
</li>
|
||||
</f:if>
|
||||
<f:if condition="{paginated.next}">
|
||||
<li class="page-item">
|
||||
<n:link newsItem="{paginated.next}" class="page-link" settings="{settings}">
|
||||
{paginated.next.title} <span aria-hidden="true">»</span>
|
||||
</n:link>
|
||||
</li>
|
||||
</f:if>
|
||||
</ul>
|
||||
</nav>
|
||||
</f:if>
|
||||
</n:simplePrevNext>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{newsItem.mediaNonPreviews}">
|
||||
<f:then>
|
||||
<f:render section="headline" arguments="{_all}" />
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<f:render section="inner-content" arguments="{_all}" />
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<f:for each="{newsItem.mediaNonPreviews}" as="mediaElement">
|
||||
<div class="thumbnail">
|
||||
<f:media file="{mediaElement}" class="img-fluid" />
|
||||
<f:if condition="{mediaElement.description}">
|
||||
<div class="caption">
|
||||
{mediaElement.description}
|
||||
</div>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:render section="headline" arguments="{_all}" />
|
||||
<f:render section="inner-content" arguments="{_all}" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="headline">
|
||||
<h1 class="pb-3 border-bottom" itemprop="headline">{newsItem.title}</h1>
|
||||
<f:render partial="General/AdditionalInformation" arguments="{settings:settings,newsItem:newsItem}" />
|
||||
</f:section>
|
||||
|
||||
<f:section name="inner-content">
|
||||
<n:renderMedia news="{newsItem}" imgClass="img-fluid" videoClass="video-wrapper" audioClass="audio-wrapper">
|
||||
<f:if condition="{newsItem.teaser}">
|
||||
<!-- teaser -->
|
||||
<div class="lead" itemprop="description">
|
||||
<f:format.html>{newsItem.teaser}</f:format.html>
|
||||
</div>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{newsItem.contentElements}">
|
||||
<!-- content elements -->
|
||||
<f:cObject typoscriptObjectPath="lib.tx_news.contentElementRendering">{newsItem.contentElementIdList}</f:cObject>
|
||||
</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 -->
|
||||
<f:link.page class="btn btn-primary mb-3" pageUid="{settings.backPid}">
|
||||
<f:translate key="back-link" />
|
||||
</f:link.page>
|
||||
</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>
|
||||
|
||||
|
||||
<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.relatedFromSorted}: all related from, sorted by date
|
||||
</f:comment>
|
||||
<f:if condition="{newsItem.allRelatedSorted}">
|
||||
<!-- Related news records -->
|
||||
<div class="news-related news-related-news mb-3">
|
||||
<h4>
|
||||
<f:translate key="related-news" />
|
||||
</h4>
|
||||
<ul class="list-group">
|
||||
<f:for each="{newsItem.allRelatedSorted}" as="related">
|
||||
<li class="list-group-item">
|
||||
<span class="news-related-news-date me-2">
|
||||
<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 mb-3">
|
||||
<h4>
|
||||
<f:translate key="related-files" />
|
||||
</h4>
|
||||
<ul class="list-group">
|
||||
<f:for each="{newsItem.relatedFiles}" as="relatedFile">
|
||||
<li class="list-group-item">
|
||||
<span class="news-related-files-link me-2">
|
||||
<a href="{relatedFile.originalResource.publicUrl -> f:format.htmlspecialchars()}" target="_blank">
|
||||
<i class="fas fa-file me-1"></i>
|
||||
{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 mb-3">
|
||||
<h4>
|
||||
<f:translate key="related-links" />
|
||||
</h4>
|
||||
<ul class="list-group">
|
||||
<f:for each="{newsItem.relatedLinks}" as="relatedLink">
|
||||
<li class="list-group-item">
|
||||
<f:link.typolink parameter="{relatedLink.uri}" class="me-2" title="{relatedLink.title}" target="{n:targetLink(link:relatedLink.uri)}"><i class="fas fa-external-link me-1"> </i>{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>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,47 @@
|
||||
<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" id="news-container-{contentObjectData.uid}">
|
||||
<f:if condition="{settings.hidePagination}">
|
||||
<f:then>
|
||||
<ul class="list-group mb-3">
|
||||
<f:for each="{news}" as="newsItem" iteration="iterator">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
|
||||
</f:for>
|
||||
</ul>
|
||||
</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>
|
||||
<ul class="list-group mb-3">
|
||||
<f:for each="{pagination.paginator.paginatedItems}" as="newsItem" iteration="iterator">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
|
||||
</f:for>
|
||||
</ul>
|
||||
<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="alert ">
|
||||
<f:translate key="list_nonewsfound" />
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<!--TYPO3SEARCH_begin-->
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,36 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/SearchForm.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:form class="news-search-form" object="{search}" name="search" pageUid="{settings.listPid}">
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label" for="news-subject">
|
||||
<f:translate key="search-subject" />
|
||||
</label>
|
||||
<f:form.textfield id="news-subject" property="subject" class="form-control" />
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label" for="news-minimumDate">
|
||||
<f:translate key="search-minimumDate" />
|
||||
</label>
|
||||
<f:form.textfield id="news-minimumDate" property="minimumDate" type="date" class="form-control" />
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label" for="news-maximumDate">
|
||||
<f:translate key="search-maximumDate" />
|
||||
</label>
|
||||
<f:form.textfield id="news-maximumDate" property="maximumDate" type="date" class="form-control" />
|
||||
</div>
|
||||
|
||||
<f:form.submit value="{f:translate(key:'search-start')}" class="btn btn-primary" />
|
||||
|
||||
</f:form>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,29 @@
|
||||
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
|
||||
<f:layout name="General" />
|
||||
<!--
|
||||
=====================
|
||||
Templates/News/SearchResult.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<div class="news-search-result">
|
||||
<f:if condition="{search}">
|
||||
<f:if condition="{news}">
|
||||
<f:then>
|
||||
<div class="alert alert-success">
|
||||
<f:translate key="search-text" arguments="{0:'{f:count(subject:news)}',1:search.subject}" />
|
||||
</div>
|
||||
<f:for each="{news}" as="newsItem">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}" />
|
||||
</f:for>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="alert alert-info">
|
||||
<f:translate key="search-noresult" />
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,28 @@
|
||||
<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" id="news-container-{contentObjectData.uid}">
|
||||
<f:for each="{news}" as="newsItem" iteration="iterator">
|
||||
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
|
||||
</f:for>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="alert ">
|
||||
<f:translate key="list_nonewsfound" />
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<!--TYPO3SEARCH_begin-->
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<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/Tag/List.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:if condition="{tags}">
|
||||
<div class="news-tags">
|
||||
<f:for each="{tags}" as="tag">
|
||||
<span class="news-tags-item">
|
||||
{n:tag.count(tagUid:tag.uid) -> f:variable(name: 'tagUsageCount')}
|
||||
<f:if condition="{tag.uid} == {overwriteDemand.tags}">
|
||||
<f:then>
|
||||
<f:link.page title="{tag.title}" class="active btn btn-primary mb-1 me-1 " addQueryStringMethod="GET" addQueryString="1" pageUid="{settings.listPid}" additionalParams="{tx_news_pi1:{overwriteDemand:{tags: tag}}}">
|
||||
<i class="fas fa-tags me-1"></i> {tag.title} <span class="badge badge-light"><f:if condition="{tagUsageCount}">({tagUsageCount})</f:if></span>
|
||||
</f:link.page>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:link.page title="{tag.title}" class=" btn btn-primary mb-1 me-1 " addQueryStringMethod="GET" addQueryString="1" pageUid="{settings.listPid}" additionalParams="{tx_news_pi1:{overwriteDemand:{tags: tag}}}">
|
||||
<i class="fas fa-tags me-1"></i> {tag.title} <span class="badge badge-light"><f:if condition="{tagUsageCount}">({tagUsageCount})</f:if></span>
|
||||
</f:link.page>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</span>
|
||||
</f:for>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:section>
|
||||
</html>
|
||||
37
typo3conf/ext/news/Resources/Private/Templates/Tag/List.html
Normal file
37
typo3conf/ext/news/Resources/Private/Templates/Tag/List.html
Normal file
@@ -0,0 +1,37 @@
|
||||
<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/Tag/List.html
|
||||
-->
|
||||
|
||||
<f:section name="content">
|
||||
<f:if condition="{tags}">
|
||||
<ul class="news-tags">
|
||||
<f:for each="{tags}" as="tag">
|
||||
<li>
|
||||
{n:tag.count(tagUid:tag.uid) -> f:variable(name: 'tagUsageCount')}
|
||||
<f:if condition="{tag.uid} == {overwriteDemand.tags}">
|
||||
<f:then>
|
||||
<f:link.page title="{tag.title}" class="active" pageUid="{settings.listPid}" additionalParams="{tx_news_pi1:{overwriteDemand:{tags: tag}}}">
|
||||
{tag.title}
|
||||
</f:link.page>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:link.page title="{tag.title}" pageUid="{settings.listPid}" additionalParams="{tx_news_pi1:{overwriteDemand:{tags: tag}}}">
|
||||
{tag.title}
|
||||
</f:link.page>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
<f:if condition="{tagUsageCount}">({tagUsageCount})</f:if>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:if>
|
||||
</f:section>
|
||||
</html>
|
||||
Reference in New Issue
Block a user