If you need private or personal support, ask one of the developers for it.
Be aware that this support may not be free of charge!
See also
Take a look at the "Sponsoring" page for professional, customized
support for your business case.
Contribution
Contributions are essential to the success of open source projects, but are by
no means limited to contributing code. Much more can be done, for example by
improving documentation
or answering questions on stackoverflow.com.
Contribution workflow
(1) Please always create an issue on Github
before starting a change. This is very helpful to understand what kind of issue
the pull request will solve and if your change will be accepted.
(2) Bug fixes: Please describe the type of bug you want to fix and provide
feedback on how to reproduce the problem. We will only accept bug fixes if we
can reproduce the problem.
(3) Features: Not every feature is relevant to the majority of the users.
In addition: We do not want to make this extension more complicated in usability
for a marginal feature. It helps to have a discussion about a new feature before
opening a pull request.
(4) Please always create a pull request based on the updated release
branch.
Sponsoring
This extension and the manual have been created in endless hours, mostly by a
single person. It is actively maintained to cover all supported TYPO3 versions,
user interface concepts and best practice approaches. If this extension helps
you in any way to meet your business needs, please consider giving something
back and find below some ideas to make me happy.
If you want to make sure this extension will be ready in time for the upcoming
TYPO3 release, or you need a feature that isn't implemented yet, just let me
know and we'll find a way to organize it!
Patreon
Support me on patreon.com and get
access to additional extensions and snippets as a reward.
PayPal
Support me by a donation on paypal.com.
It is just one click away.
Amazon Wishlist
If you would like to send me a small gift - feel free to choose from my
Amazon Wishlist
where I have collected some smaller and medium wishes that wait to be sponsored
by someone :-)
Let's have a coffee
If you're in the region of Linz, just let me know. I'm always looking forward to
meeting new and known faces and to talk about various topics.
In TYPO3 installations above version 11.5 the extension will be automatically
installed. You do not have to activate it manually.
If you are using an older version of TYPO3 or have a legacy installation
without composer, have a look at the
Extended installation chapter.
Update the database scheme
Open your TYPO3 backend with t3start:system-maintainer
permissions.
In the module menu to the left navigate to Admin Tools > Maintanance,
then click on Analyze database and create all.
Clear all caches
In the same module Admin Tools > Maintanance you can also
conveniently clear all caches by clicking the button Flush cache.
Quick configuration
Include TypoScript template
It is necessary to include at least the basic TypoScript provided by this
extension.
Go module Web > Template and chose your root page. It should
already contain a TypoScript template record. Switch to view
Info/Modify and click on Edit the whole template record.
Switch to tab Includes and add the following templates from the list
to the right: News (news). It is possible to include additional
templates provided by the news extension depending on your use case. For example
you can additionally chose News Styles Twitter Bootstrap V5 (news)
to use templates for the css framework Bootstrap in version 5.
Read more about possible configurations via TypoScript in the
Reference section.
A plugin is used to render a defined selection of records in the frontend.
Follow these steps to add a plugin respectively for detail and list view to
a page:
Detail page
Go to module Web > Page and to the previously created page
"News display".
Add a new content element and select the entry
Plugins > News system.
Switch to the tab Plugin where you can define the plugins settings.
The most important settings are What to display and Startingpoint.
Change the 1 st select box What to display to Detail view.
Save the plugin.
List page
Go to module Web > Page and to the previously created page
"News list".
Add a new content element and select the entry
Plugins > News system.
Switch to the tab Plugin where you can define the plugins settings.
The most important settings are What to display and Startingpoint.
The selected view is already List view. This is fine.
Fill the field Startingpoint by selecting the sysfolder you created
in the beginning of the tutorial.
Switch to tab Additional and fill the field PageId
for single news display with the page you just created before.
Save the plugin.
Read more about the plugin configuration in chapter Plugin.
Have a look at the frontend
Load the "News list" page in the frontend and you should now see the news records
as output. A click on the title should show the news record on the
detail page. You want to change the way the records are displayed? Have a look
at the chapter Templating
Quick templating in Fluid
EXT:news is using Fluid as templating engine. If you are not experienced
with Fluid yet you can read more about it in the chapter
Changing & editing templates.
You find the original templates in EXT:news/Resources/Private/Templates/
and the partials in EXT:news/Resources/Private/Partials/. Never change
these templates directly!
To override the standard news templates
with your own you can use the TypoScript constants to set the
paths:
The News Administration module is a simple backend module that
enables you to create, edit and search for news records. It can also be used
to create categories or tags.
Go module Web > News Administration. If it is not chosen yet,
choose the folder that your news records are stored in.
Add a news record
Click the button Create new news record on the top of the
News Administration module.
Fill in all necessary fields. In a standard setup only the title is a
required field. Depending on your project there might be other required fields
defined (for example at least on category chosen, author filled out etc..).
All required fields are marked in red and with an exclamation mark as is
standard in TYPO3 backend forms.
When you are done, click the Save button.
If enabled by your integrator you are able to use the View button
to preview your results. The integrator can follow this tutorial to
enable the view button.
Depending on the settings of your project you might have to empty the cache
before the news will be displayed in the list views. Your integrator can
follow this tutorial, to automate the cache clearing.
Search for news record
Use the filter symbol on the top of the module to open the search. You can use
multiple fields to filter the news.
Create a category
The category records are provided by the TYPO3 Core. They are however closely
integrated into EXT:news. You can create a category by clicking the button
Create a new category on the top of the
News Administration module.
Fill in a title and possible a parent category and some other fields and
click the Save button. Once you have created categories you can
select them when editing news records.
You can also chose categories in the plugin to filter by categories. Or you can
display a category menu.
Create a tag
You can create a tag by clicking the button
Create a new tag on the top of the
News Administration module. Fill in a title and
click the Save button.
Once you created some tags you can add to your news records on editing them.
Support & Donate
You can find some information about how to support the main author of this
extension on this page. Click the Support & Donate button
on the top right of the module.
List module
You can also use the List module to create and edit news records.
The choice depends on what modules you have permissions to use, your personal
experience or choice.
The List module is more powerful then then the
News Administration module in some aspects,
however it might be less tailored to the specific use case. This depends on
how the project was set up.
Create a news storage folder
News records are usually stored in pages of the type folder. A
folder itself cannot be displayed in the frontend. Its content can however
be displayed on other pages through a plugin or TypoScript configuration.
Create a page of type folder by dragging a the folder symbol on top of the page
tree into the desired position. Then give it a name and enable the folder in
the context menu.
The folder can be displayed with a certain symbol such that folders containing
news can be easily recognized.
Open the page properties by choosing Edit from the context menu.
Then go to the field Behaviour > Contains Plugin and chose
News. After saving the folder record the symbol of the folder
changes. If this field is not visible to you, you might lack permissions. In
this case an administrator needs to set the field.
Add the first news record to a new folder
When there is no news record found in the folder yet, the table
News is not visible yet. In that case click the plus button
Create a new record on the top left of the list module area.
Chose News system > News from the list. Edit and save the news
record as usual. The same strategy can be used to add
News system > Tags and News system > Tags.
Add subsequent news records to a folder
When a folder contains at least one news record it displays a table
called News in the list module.
At the top of this table you can find the New record button.
Click this button to create a news record directly.
Edit a news record
At the right of each listed news record you can edit, hide / unhide or
delete a record by clicking the corresponding button. By clicking on the
icon of the news you can also find a context menu with more options.
Download news as CSV or JSON
Starting with TYPO3 version 11 you can conveniently download all or a
selection of news records to a comma-separated (CSV) file format that
can be easily imported into excel. Click the Download button
on the top right of the news table in the list module, make your choice
click Download.
Mass editing
Mass editing can come handy when you want to change many news records at
once. The process differs between TYPO3 11.5 and older versions however.
Read the chapter on mass editing in the T
YPO3 editors manual and chose the version of TYPO3 you are using from
the top left version chooser.
Plugin
The news plugin is used to output a defined list of records.
It can be added to create a content element with the type
Plugin and by selecting the plugin type News system.
The available actions are:
List
The list action displays a list of defined records. The filters can be defined either in the plugin or by using TypoScript and are described here.
2 different list modes are available.
List view
If a plugin is configured to show this implementation of the list action, it will change its behaviour if the URL contains a link to a detail action!
If this is fulfilled, the detail action will be shown instead of the list action.
List view (without overloading detail view)
The described behaviour of the first implementation might not be desired all the time.
A typical example is to show a list view in the sidebar of a detail view page. If the above action would be used, the detail view would be shown in the sidebar too.
List of articles
Show a specific list of articles
Detail
There are 2 typical use cases for this action:
Use this action to show a full news record which is linked by a list view.
Provide a specific news record to output that one. This is very useful to embed a news record e.g. in a newsletter.
Date menu
Use this action to show a list of news items grouped by the date. A typical output can look like:
If you define a specific page id in field PageId for list display (inside the tab Additional) and
placing a news plugin with the type List there, it is possible to create a date filter.
Search form
Use this action to show a basic search inside news records.
Search result
The search result action is based on the list action including an additional filter provided by the search form.
Category menu
Use this action to show a list of categories. The categories are listed as tree.
If you define a specific page id in field PageId for list display (inside the tab "Additional") and
placing a news plugin with the type List there, it is possible to create a category filter.
Tag list
Use this action to show a list of tags.
If you define a specific page id in field PageId for list display (inside the tab "Additional") and
placing a news plugin with the type List there, it is possible to create a tag filter.
Records
EXT:news uses multiples records which are described here in detail.
Standard news: These contain the content directly as text or content
elements
Internal links: The content is stored on a standard typo3 page
External page: The content is found outside of the news installation
Standard news
In most projects when you create a new news record it will be automatically
a standard news record. To confirm this check that the field Type
is set to News. Standard news should usually have a text
in the field Text field, some content elements in the
Content elements tab and or some media in the Media
tab.
News as internal link
In some projects the text of the news itself is stored on a standard page. The
news can still be listed in the list view of the news plugin.
Click the button Create new news record on the top of the
News Administration module. Then switch the select filed
Type to Internal link. Fill in the title field and
other required or desired fields.
Then click the button to edit the Internal link.
When you are done, click the Save button. Depending on the settings
of your project you might have to empty the cache
before the news will be displayed in the list views.
News as external page
In some projects the text of the news itself is stored on an external page. The
news can still be listed in the list view of the news plugin.
Creating an external page works just like an internal link. However you chose
the type External page and enter the external link in the field
Link to External URL.
News record
The visible fields depend on
The news type (see above)
Your user permissions
The configuration of your project
Third party extensions if applicable
Field:
Description:
Header
Required! Title of a news record
Top news
News records can be marked as top news if it is an important one. This field can be used for filtering and ordering.
Type
A news record can belong to one of the following types:
"News": Default news record
"Internal Page": The news record is linked to a regular page.
"External Page": The news record is linked to an external URL.
Some fields are only available for a special type.
Teaser
A teaser text which is shown in the list view and explains the content
of the news record in some sentences. Depending on the configuration
it is possible that not complete text is shown in the frontend but
just a part of it.
Author name
Name of the author
Author email
Email address of the author
Date & Time
Date of the news record
Archive
Depending on the configuration this date is used to define if the
record is still shown. It is e.g. possible to show only records with
an archive date in the past or in the future.
Text
Main content of the news record.
Rich text editor disable
If set, the RTE is disabled and the field "Text" is shown as plain textarea.
Content elements
Add content elements to a news records. This field can be
hidden by disabling the setting in Extension Configuration.
Link to this Page
Link to a regular page. This field is only shown with the type
"Internal Page".
Link to External URL
Link to an external url. This field is only shown with the type
"External Page".
Categories
Selection of categories the news record belongs to.
Tags
Add tags to the news record. Use the suggest wizard to search for existing tags and to insert new tags.
The pid can be set in the Extension Configuration Define pid of tag records tagPid or in TsConfig.
Related News
Define news records which are related to the current one.
Keywords
Set keywords of this news record, separated with a comma (',')
Description
Define an additional description
Alternative title
If used, this field is used instead of the default tile.
Speaking URL path segment
This field can be used for various scenarios, e.g. in your realurl configuration to set up the URL to the news record.
Relations
Media file
This relation handles all media files you want to attach to a news record.
Field:
Description:
Show in list views
If set, this media element will be rendered in the list view (or where it is desired by changing the templates).
Title
Additional title
Alternative Title
The alternative title is e.g. used for the alt attribute of images
Link
Additional link
Caption
Caption
Video & audio file
TODO
Related files
This relation handles related files which are handled by FAL (File Abstraction Layer).
Field:
Description:
Title
Additional title
Description
Additional description
Related links
This relation handles links to any kind of URLs.
Field:
Description:
URL
Required! URL can be a page id, email address, external URL, ...
Title
Additional title
Description
Additional description
Category
Categories are not mandatory but make it easier to structure news records.
The category records themselves are supplied by the TYPO3 Core and might be
shared with other extensions.
The parent category is used to build a category tree. Therefore
select the parent of the current category. If nothing selected, the
category is used as a root category.
Image
Image of the category which can be shown next to a category title.
Description
Description of the category
Single-view page for news from this category
If a page is defined, it is used as page for displaying the news
record. If a news record belongs to more than one category, only the 1
st category is checked for this field.
News category shortcut
Optional link of a news category to the given page
SEO: <title>-Tag
Can be used to set a special <title>-Tag for category pages.
This must be enabled in the template:
EXT:news implements a custom pageTitleProviderGeorgRingerNewsSeoNewsTitleProvider which is called through the controller.
It can be configured using TypoScript:
plugin.tx_news.settings.detail {
pageTitle = 1
pageTitle {
# Register alternative provider
provider = GeorgRinger\News\Seo\NewsTitleProvider
# Comma separated list of properties which should be checked, 1st value is used
properties = teaser,title
}
}
Copied!
It is also possible to set the page title through the template by using:
With TYPO3 10 it is possible to define multiple sitemaps. This can be used to define a normal sitemap and one for google news. This example adds another sitemap for the google news and defines a new type.
If a language menu is rendered on a detail page and the languages are configured to use a strict mode, the following snippet helps you to setup a proper menu.
If no translation exists, the property available is set to false - just as if the current page is not translated.
10 = TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor
10 {
as = languageMenu
addQueryString = 1
}
11 = GeorgRinger\News\DataProcessing\DisableLanguageMenuProcessor
# comma separated list of language menu names11.menus = languageMenu
EXT:news reduces the rendered hreflang attributes by using this event and checking the availability of the records.
Check availability in Fluid templates
If you are building a language menu and want to check if the news record is available, you can use the ViewHelper
<n:check.pageAvailableInLanguage language="{languageId}">. A full example can look like this:
Robots: allow indexing of news records, but set 'noindex' to the detail page
By default, the detail page will be listed in the SEO sitemap.
But in most cases, you don't want the page itself to be indexed by search engines (means: without a news record to be shown by the plugin).
If you just disable Index this page (no_index) in the page properties, the robots meta tag with noindex value will also be applied to the news records.
Solution: You can use the following TypoScript condition to allow search engines to index the page again, if a news record is rendered:
An important part is the replace option. The MetaTag API of TYPO3 will then replace tags which were set before.
View button
It is possible to activate the View Button for news records.
This button is displayed on the top of the edit record page:
The View button
Add the following page TSconfig to your root page. It is recommended to use
a site package extension, see
Official Tutorial: Site Package for this purpose.
By using the given example, a link will be generated which leads to the
page with the id 123.
If a news plugin is placed on this page, the news article will be shown.
Hint
This TSconfig configuration can be used to display any record with with any
kind of parameters. Read more about it in
t3tsconfig:pagetcemain-preview.
TSconfig code snippets
Page TSconfig from can be used to influence display and behaviour of fields and
forms in the backend. The following examples are for your convenience only, they
are possible with any record type in TYPO3. Read more about what you can do with
page TSconfig in the t3tsconfig:Index.
You want to add your example here? Hit the "Edit on Github" button in the top
right and make a pull request on Github.
Setting default values
It is possible to set default values for each field in the backend:
TCAdefaults.tx_news_domain_model_news {
author = Jon Doe
notes = Someone forgot to change the notes....
}
In many installations categories are used for multiple purposes. If you want
to use certain category trees only in certain page trees or only for your news
records, you can set the following
New in version TYPO3 11.4
treeConfig.startingPoints was added with TYPO3 11.4
See also t3tsconfig:pagetsconfigtceformconfigtreeconfig.
Use Routing to rewrite URLs
This section will show you how you can rewrite the URLs for news using
Routing Enhancers and Aspects. TYPO3 Explained has an capter
Introduction to routing that you can read
if you are not familiar with the concept yet. You will no
longer need third party extensions like RealURL or CoolUri to rewrite and
beautify your URLs.
How to rewrite URLs with news parameters
On setting up your page you should already have created a site configuration.
You can do this in the backend module Site Managements > Sites.
Your site configuration will be stored in
/config/sites/<your_identifier>/config.yaml. The following
configurations have to be applied to this file.
Any URL parameters can be rewritten with the Routing Enhancers and Aspects.
These are added manually in the config.yaml:
Add a section routeEnhancers, if one does not already exist.
Choose an unique identifier for your Routing Enhancer. It doesn't have
to match any extension key.
type: For news, the Extbase Plugin Enhancer (Extbase)
is used.
extension: the extension key, converted to UpperCamelCase.
plugin: the plugin name of news is just Pi1.
After that you will configure individual routes and aspects depending on
your use case.
/config/sites/<your_identifier>/config.yaml
routeEnhancers:News:type:Extbaseextension:Newsplugin:Pi1# routes and aspects will follow here
Copied!
Tip
If your routing doesn't work as expected, check the indentation of your
configuration blocks.
Proper indentation is crucial in YAML.
Using limitToPages
It is recommended to limit routeEnhancers to the pages where they are needed.
This will speed up performance for building page routes of all other pages.
/config/sites/<your_identifier>/config.yaml
routeEnhancers:News:type:ExtbaselimitToPages:-8-10-11extension:Newsplugin:Pi1# routes and aspects will follow here
Copied!
Multiple routeEnhancers for news
If you use the news extension for different purposes on the same website
(for example news and events), you may want different URL paths for
them (for example /article/ and /event/).
It is possible to configure more than one routing enhancer for the news plugin
on the same website.
Use limitToPages to assign the appropriate configuration to the
desired pages.
/config/sites/<your_identifier>/config.yaml
routeEnhancers:News:type:ExtbaselimitToPages:-8-10-11extension:Newsplugin:Pi1# etc.NewsEvents:type:ExtbaselimitToPages:-17-18extension:Newsplugin:Pi1# etc.
Copied!
About routes and aspects
In a nutshell:
routes will extend an existing route (means: your domain and page
path) with arguments from GET parameters, like the following
controller/action pair of the news detail view.
aspects can be used to modify these arguments. You could for
example map the title (or better: the optimized path segment) of the
current news.
Different types of Mappers and Modifiers are available, depending on
the case.
The LocaleModifier aspect type will set a default value for the
English language.
You're then able to add as many localeMap configurations as you
need for the page translations of your website.
The value of locale refers to the value in your site configuration.
Human readable dates
Prerequisites:
For List View with a Date Menu plugin, to filter
by date. Also includes configuration for the pagination.
Result:
https://www.example.com/news/2018/march
https://www.example.com/news/2018/march/page-2
/config/sites/<your_identifier>/config.yaml
routeEnhancers:DateMenu:type:Extbaseextension:Newsplugin:Pi1routes:# Pagination:-routePath:'/'_controller:'News::list'-routePath:'/page-{page}'_controller:'News::list'_arguments:page:'currentPage'requirements:page:'\d+'-routePath:'/{news-title}'_controller:'News::detail'_arguments:news-title:news# Date year:-routePath:'/{date-year}'_controller:'News::list'_arguments:date-month:'overwriteDemand/month'date-year:'overwriteDemand/year'page:'currentPage'requirements:date-year:'\d+'# Date year + pagination:-routePath:'/{date-year}/page-{page}'_controller:'News::list'_arguments:date-year:'overwriteDemand/year'page:'currentPage'requirements:date-year:'\d+'page:'\d+'# Date year/month:-routePath:'/{date-year}/{date-month}'_controller:'News::list'_arguments:date-month:'overwriteDemand/month'date-year:'overwriteDemand/year'page:'currentPage'requirements:date-month:'\d+'date-year:'\d+'# Date year/month + pagination:-routePath:'/{date-year}/{date-month}/page-{page}'_controller:'News::list'_arguments:date-month:'overwriteDemand/month'date-year:'overwriteDemand/year'page:'currentPage'requirements:date-month:'\d+'date-year:'\d+'page:'\d+'defaultController:'News::list'defaults:page:'0'date-month:''date-year:''aspects:news-title:type:PersistedAliasMappertableName:tx_news_domain_model_newsrouteFieldName:path_segmentpage:type:StaticRangeMapperstart:'1'end:'25'date-month:type:StaticValueMappermap:january:'01'february:'02'march:'03'april:'04'may:'05'june:'06'july:'07'august:'08'september:'09'october:'10'november:'11'december:'12'date-year:type:StaticRangeMapperstart:'2000'end:'2030'
Copied!
Explanation:
You will need a new routePath for every possible combination of
arguments (pagination, month with/without pagination, ...).
Potential errors:
If you want 2018/march but get 2018/3 instead, compare your
StaticValueMapper for months with your date arguments.
Are you using different date formats (with/without leading zeros)?
You can either remove the leading zero in your aspects or adapt the
TypoScript setting:
TypoScript setup
plugin.tx_news.settings.link { hrDate = 1 hrDate { day = j// 'n' for 1 through 12. 'm' for 01 through 12. month = m year = Y }}
Copied!
You can configure each argument (day/month/year) separately by using the
configuration of PHP function date.
Warning
Oops, an error occurred!
Possible range of all mappers is larger than 10000 items
Using the StaticRangeMapper is strictly limited to 1000 items per
a single range and 10000 items per routing enhancer.
That means you'll have to multiply all possible combinations in a routing
enhancer, for example:
12 months × 30 years (2000-2030) × 25 pages (pagination) = 9000 possible
items
If you exceed this limit, you'll either have to build a custom and more
specific mapper, or reduce the range in one of your StaticRangeMapper.
There are currently two suggested ways to make a breadcrumb menu containing
the detail page of the current news: Based on data processing and Fluid template
and based on pure TypoScript. Use the first method if you have no breadcrumb yet
or your breadcrumb is already based on data processors. Use the second if
your breadcrumb is already based on TypoScript and you do not wish to change it
for now.
Breadcrumb based on data processing and Fluid
New in version 7.2.0
With version 7.2 a new data processor,
AddNewsToMenuProcessor has
been added which is useful for detail pages to add the news record as
fake menu entry.
To use the data processor
AddNewsToMenuProcessor add the following
TypoScript to the setup section in your site package extension. We assume
here that your main
FLUIDTEMPLATE can be found in
page.10.
page.10 = FLUIDTEMPLATE
page.10 {
# [...] template settings
dataProcessing {
# [...] Other data processors50 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
50 {
as = breadcrumbMenu
special = rootline
}
60 = GeorgRinger\News\DataProcessing\AddNewsToMenuProcessor
60.menus = breadcrumbMenu
}
}
Copied!
The property
menus of the
AddNewsToMenuProcessor must
contain the key of the
MenuProcessor containing your breadcrumb. If you
You can use more then one menu here by supplying several keys as comma-separated
list. For example:
60.menus = breadcrumbMenu,myOtherBreadcrumb.
The data array containing your breadcrumb will now contain an additional entry
if you are on a news detail page. You can debug this data with the following
Fluid snippet:
<f:debug>{breadcrumbMenu}</f:debug>
Copied!
The array will then contain something like that:
array(4 items)
0 => array(7 items)
1 => array(7 items)
2 => array(7 items)
data => array(84 items)
title => 'All News' (17 chars)
link => '/portal/news/' (34 chars)
target => '' (0 chars)
active => 1 (integer)
current => 0 (integer)
spacer => 0 (integer)
3 => array(6 items)
data => array(87 items)
title => 'Test news' (13 chars)
active => 1 (integer)
current => 1 (integer)
link => 'https://my-page.ddev.site/portal/news/articel/test-news' (101 chars)
isNews => TRUE
Copied!
You can use code like the following in your sites Fluid template.
The result (using Bootstrap 5 and Fontawesome 5 Free) could use like this:
A breadcrumb containing the current news record.
Hint
I you are displaying the news on a single page that should not be displayed
without a valid news record, unset the flag Page enabled in menus
in the single pages page properties. This way the page alone does not appear
in the breadcrumb.
If you already have a breadcrumb menu based on TypoScript in your project,
you can continue to use it and add the news record to it.
lib.navigation_breadcrumb = COA
lib.navigation_breadcrumb {
stdWrap.wrap = <ul class="breadcrumb">|</ul>
10 = HMENU10 {
special = rootline
#special.range = 11 = TMENU1 {
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagTitle.field = subtitle // title
stdWrap.htmlSpecialChars = 1
}
CUR <.NOCUR {
wrapItemAndSub = <li class="active">|</li>
doNotLinkIt = 1
}
}
}
# Add news title if on single view20 = RECORDS20 {
stdWrap.if.isTrue.data = GP:tx_news_pi1|news
dontCheckPid = 1
tables = tx_news_domain_model_news
source.data = GP:tx_news_pi1|news
source.intval = 1
conf.tx_news_domain_model_news = TEXT
conf.tx_news_domain_model_news {
field = title
htmlSpecialChars = 1
}
stdWrap.wrap = <li>|</li>
stdWrap.required = 1
}
}
Copied!
The relevant part starts with
20 = RECORDS as this cObject
renders the title of the news article.
Important
Never forget the
source.intval = 1 to avoid SQL injections
and the
htmlSpecialChars = 1 to avoid Cross-Site Scripting.
See security in TypoScript in TYPO3 Explained.
RSS feed
Displaying a RSS feed is the same as a normal list view, just with a different template.
Therefore you won't need any different configuration to e.g. excluded categories or configure the single view page.
The template for the RSS feed can be found in the file Resources/Private/Templates/News/List.xml.
The "magic" which uses the List.xml template instead of the List.html is the following configuration:
plugin.tx_news.settings.format = xml
# If you want atom, use
plugin.tx_news.settings.format = atom
Copied!
RSS feed by TypoScript
A very simple way to generate the RSS feed is using plain TypoScript. All you need is to use the given TypoScript and adopt it to your needs.
pageNewsRSS = PAGE
pageNewsRSS {
# Override the typeNum if you have more than one feed
typeNum = {$plugin.tx_news.rss.channel.typeNum}
config {
disableAllHeaderCode = 1
xhtml_cleaning = none
admPanel = 0
debug = 0
disablePrefixComment = 1
metaCharset = utf-8
additionalHeaders.10.header = Content-Type:application/rss+xml;charset=utf-8
absRefPrefix = {$plugin.tx_news.rss.channel.link}
linkVars >
}
10 < tt_content.list.20.news_pi1
10 {
switchableControllerActions {
News {
1 = list
}
}
settings < plugin.tx_news.settings
settings {
categories = 9
categoryConjunction = notor
limit = 30
detailPid = 25
startingpoint = 24
format = xml
# Override the typeNum if you have more than one feed, must be the same as above!#list.rss.channel.typeNum = {$plugin.tx_news.rss.channel.typeNum}
}
}
}
Copied!
This example will show all news records which don't have the category with the uid 9 assigned and are saved on the page with uid 24. The single view page is the one with uid 25.
The RSS feed itself can be found with the link /?type=9818.
RSS feeds by using a normal plugin
Sometimes it is more convenient to generate the RSS feed using the normal plugin.
The biggest advantage is that the complete configuration can be done within the backend without touching TypoScript.
To create a RSS feed based on a plugin follow this steps:
Create a new page.
Add the news plugin and define the configuration you need. E.g. startingpoint, page with the single view, ...
Define a new TypoScript template and use a code like below. Very
important: Use config.absRefPrefix = http://www.yourdomain.tld/ to
produce absolute urls for links and images!
page = PAGE
page.10 < styles.content.get
config {
# deactivate Standard-Header
disableAllHeaderCode = 1
# no xhtml tags
xhtml_cleaning = none
admPanel = 0
# define charset
metaCharset = utf-8
additionalHeaders.10.header = Content-Type:application/rss+xml;charset=utf-8
disablePrefixComment = 1
linkVars >
}
# set the format
plugin.tx_news.settings.format = xml
# delete content wrap
tt_content.stdWrap >
tt_content.stdWrap.editPanel = 0
# Use custom template for List.html of EXT:fluid_styled_content
lib.contentElement.templateRootPaths.5 = EXT:news/Resources/Private/Examples/Rss/fluid_styled_content/Templates
Copied!
Warning
If your output still contains HTML code, please check your TypoScript (especially fluid_styled_content) as this HTML is produced there!
Automatic RSS feeds - based on plugins
There are usecases where many different list views are needed and each list view should also get its own RSS feed without any additional configuration.
The TypoScript code looks like this.
[globalVar = TSFE:type = {$plugin.tx_news.rss.channel.typeNum}]
lib.stdheader >
tt_content.stdWrap.innerWrap >
tt_content.stdWrap.wrap >
tt_content.stdWrap.editPanel = 0
# get away <div class="feEditAdvanced-firstWrapper" ...> if your logged into the backend
styles.content.get.stdWrap >
# Use custom template for List.html of EXT:fluid_styled_content
lib.contentElement.templateRootPaths.5 = EXT:news/Resources/Private/Examples/Rss/fluid_styled_content/Templates
pageNewsRSS = PAGE
pageNewsRSS.typeNum = {$plugin.tx_news.rss.channel.typeNum}
pageNewsRSS.10 < styles.content.get
pageNewsRSS.10.select.where = colPos=0 AND list_type = "news_pi1"
pageNewsRSS.10.select {
orderBy = sorting ASC
max = 1
}
config {
# deactivate Standard-Header
disableAllHeaderCode = 1
# no xhtml tags
xhtml_cleaning = none
admPanel = 0
# define charset
metaCharset = utf-8
# you need an english locale to get correct rfc values for <lastBuildDate>, ...
locale_all = en_EN
# CMS 8 (adjust if using ATOM)
additionalHeaders.10.header = Content-Type:application/xml;charset=utf-8
disablePrefixComment = 1
baseURL = {$plugin.tx_news.rss.channel.link}
absRefPrefix = {$plugin.tx_news.rss.channel.link}
linkVars >
}
# set the format
plugin.tx_news.settings.format = xml
[global]
Copied!
Some explanations
The page object pageNewsRSS will render only those content elements which are in colPos 0 and are a news plugin. Therefore all other content elements won't be rendered in the RSS feed.
Misc
RSS feed configuration
Don't forget to configure the RSS feed properly as the sample template won't fulfill your needs completely. Please look up the constants and change the mentioned settings.
plugin.tx_news.rss.channel {
title = Dummy Title
description =
link = http://example.com
language = en-gb
copyright = TYPO3 News
category =
generator = TYPO3 EXT:news
}
Copied!
Add a link to the RSS feed in the list view
To be able to render a link in the header section of the normal page which points to the RSS feed you can use something like this in your List.html Fluid template.
This tutorial is also valid for creating links to any other record.
Configuration for the backend
PageTsConfig is used to configure the link browser in the backend.
# tx_news is an identifier, don't change it after links have been created
TCEMAIN.linkHandler.tx_news {
handler = TYPO3\CMS\Recordlist\LinkHandler\RecordLinkHandler
# A translatable label can be used with LLL:EXT:theme/locallang.xml:label
label = News
configuration {
table = tx_news_domain_model_news
# Default storage pid
storagePid = 123
# Hide the page tree by setting it to 1
hidePageTree = 0
}
scanAfter = page
}
Copied!
Configuration for the frontend
The links are now stored in the database with the syntax <a href="t3://record?identifier=tx_news&uid=456">A link</a>.
By using TypoScript, the link is transformed into an actual link.
With the first line you change the allowed CTypes for the backend layout that applies to your news sysfolder.
The second line sets the default CType to prevent an error with e.g. INVALID VALUE ("text")
Hint
Regardless which option you choose, you need to wrap the TSConfig code with a TypoScript condition to limit the restriction to the sysfolder(s) where your news records reside, e.g with [123 in tree.rootLineIds]
Hint
Option 2 has the advantage, that if you want to allow only a very small number of content element types, you don't need to remove explicitly every CType. It's rather a whitelist approach.
Integrations with TypoScript
This page gives you same examples which you can use for integrating EXT:news into a website.
Add news by TypoScript
If EXT:news should be integrated by using TypoScript only, you can use this code snippet:
If you want to set the title tag, you can use a specific viewHelper:
<n:titleTag>{newsItem.title}</n:titleTag>
Copied!
Fallback in Detail view if no news found
If the detail view is called without a news uid given, an error is thrown (depending on the setting settings.errorHandling).
If the desired behaviour is to show a different news record this can be set in the plugin with the field "singleNews".
The drawback would be that the alternative news record would be always the same. If this should be kind of dynamic, take a
look at the given TypoScript snippet:
By using the field useStdWrap it is possible to call the full range of stdWrap on any setting. In this case the first news record
from the page with uid 3 is used as fallback.
Show news items with same category in Detail.html
If you want to show in the detail action articles with the same category as the current one, you can use a snippet like this one:
Add this to the Detail.html which will pass the first category uid to the TypoScript object lib.tx_news.relatedByFirstCategory.
Important is the line categories.current = 1 which will set the category configuration.
Of course you need to adopt the snippet to your own needs, like setting the detailPid, startingPoint, ...
By defining a custom property like relatedView = 1 you can differ in the List.html if it is called by this snippet or by a regular plugin.
Show news items with same tags in Detail.html
Similar to the example above it is also possible to render news records with the same tags as the current one.
lib.tx_news.relatedByTags = USER
lib.tx_news.relatedByTags {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = News
pluginName = Pi1
vendorName = GeorgRinger
switchableControllerActions {
News {
1 = list
}
}
settings < plugin.tx_news.settings
settings {
# custom tag to use in List.html
relatedView = 1
# limit number of news
limit = 6
# startingpoint = 1
useStdWrap := addToList(tags)
tags.current = 1
categoryConjunction = or
overrideFlexformSettingsIfEmpty := addToList(detailPid)
excludeAlreadyDisplayedNews = 1
}
}
Copied!
In your overridden Detail.html template place the following code after displaying detailed news.
The Fluid tags supply comma-separated list of tags' UIDs to the Typoscript code.
Either write custom ViewHelper or install vhs extension and add its namespace xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers" to the Detail.html template.
This tutorials covers the use case of having the following page structure:
.
└── Root
├── Home
└── Blog <= news
Copied!
The URL of a news record should howeverb be domain.tld/blog/news-record.
The page Blog typically contains not only the news plugin with the list view
but also additional regular content elements which must not be rendered in the detail view.
The following TypoScript will make this possible:
# Override content rendering if the news record is requested[traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0]# typically having something like: page.10 = FLUIDTEMPLATE# optional to use a custom page template
page.10.templateName = NewsDetail
lib.dynamicContent >
lib.dynamicContent = USER
lib.dynamicContent {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = News
pluginName = Pi1
vendorName = GeorgRinger
switchableControllerActions {
News {
1 = detail
}
}
settings < plugin.tx_news.settings
settings {
# fully optional but can be used to react on it in# the news templates
templateLayout = renderedByTs
}
}
[end]
Copied!
The page templateNewsDetail.html must contain the following code to
render the news detail view:
The TypoScript condition will only be true if a news record path is in the URL
It overrides the used page template to be able to use a custom one
It set the variable lib.dynamicContent to contain the rendered news detail view
The dedicated page template can be fully adopted
If needed, the News detail template can be adopted by either use a settings variable or by providing a custom view path.
Cache clearing
Clearing the cache after changing news records
News has a built-in mechanism that takes care of clearing the cache after
manipulation of News records.
When a list or detail view is rendered on a page, a cache tag in format
tx_news_pid_PID (where PID is the uid of the news storage folder) is
added. Each time a news record is edited, deleted or created, this cache entry
is flushed. No additional cache configuration is needed if only the News
plugins are used.
If you use other ways of displaying news records (e.g. an RSS feed created
by TypoScript on a page without a News plugin), the cache is not flushed
automatically.
This can be done automatically by using this command in the PageTsConfig: :
page TSconfig
TCEMAIN.clearCacheCmd = 123,456,789
Copied!
The code needs to be added to the sys folder where the news records are edited.
Change the example page ids to the ones which should be cleared, e.g. a page
with an RSS feed. You can use:
page TSconfig
TCEMAIN.clearCacheCmd = pages
Copied!
to clear the complete caches as well:
page TSconfig
TCEMAIN.clearCacheCmd = cacheTag:tx_news
Copied!
to clear all caches of pages on which the news plugins are used but beware of
performance issues when news records are edited often.
Hint
The mentioned TCEMAIN settings are part of the TYPO3 Core and can be used
therefore not only for the news extension. Read more about the
t3tsconfig:pagetcemain-clearcachecmd.
Cache lifetime and auto publishing (by setting start date)
By default the cache of TYPO3 pages is invalidated every 24 hours. If you set
a specific date and time for the news record to be published in the tab
Access:
This news should be published at a certain date, 12:00
The news will be published next time the cache is deleted which is usual after
midnight.
When you are using the Publish Date field you can use the following
TypoScript setup configuration: config.cache
Let us assume you have a news plugin on page 42 and store your news records in a
sysfolder with the uid 27 then the following setting will take the publish date
of your news records into account when calculating the time when the cache
should expire:
This section will show you how you can predefine values of fields in records in the TYPO3 backend using TSconfig.
Default values
Tip
This is a feature of TYPO3 itself, so you can use this also for all other tables and fields.
If you want to use some default values, you can use this code inside the TSconfig (tab:Resources) of the folder containing the News records:
# Syntax is always TCAdefaults.<tablename>.<fieldname> = value
TCAdefaults {
tx_news_domain_model_news {
author = John Doe
categories = 9
}
}
Copied!
Select fields
If you want to preselect a value from a select field, you need to set the value of the option field as value.
In this example the language with the uid 3 will be preselected:
If you want to remove an option from a select field you can take a look at this example which removes the
option "Images" from the media selection dropdown:
By using the following code in the PageTsConig, the fields Author and Author Email are prefilled with the name and email address of the current backend user
tx_news.predefine.author = 1
Copied!
Archive date
EXT:news allows you to use an improved syntax to predefine the archive date by using this Page TSconfig:
tx_news.predefine.archive = <value>
Copied!
As value you can use anything which can be interpreted by the php function strtotime.
For example:
+1 day
next Monday
+1 week 2 days 4 hours
Add the characters counter below an input field
If you want to give a hint to editors so they know how many chars they can use for the Teaser field, you simply add this TSconfig to the folder:
To identify the key of the tab (e.g. sDEF) and the field name (e.g. settings.orderBy)
look either in the source code while checking the flexforms or look into the configuration itself
which can be found at EXT:news/Configuration/FlexForms/flexform_news.xml.
ICalendar feed
Displaying an iCalendar feed is the same as a normal list view, just with a different template.
Therefore you won't need any different configuration to e.g. excluded categories or configure the single view page.
The template for the iCalendar feed can be found in the file Resources/Private/Templates/News/List.ical.
The "magic" which uses the List.ical template instead of the List.html is the following configuration:
This example will show all news records which don't have the category with the uid 9 assigned and are saved on the page with uid 24.
The iCalendar feed itself can be found with the link /?type=9819.
iCalendar feeds by using a normal plugin
Sometimes it is more convenient to generate the iCalendar feed using the normal plugin.
The biggest advantage is that the complete configuration can be done within the backend without touching TypoScript.
To create an ICalendar feed based on a plugin follow this steps:
Create a new page.
Add the news plugin and define the configuration you need. E.g. startingpoint, page with the single view, ...
Define a new TypoScript template and use a code like below. Very
important : Use config.absRefPrefix = http://www.yourdomain.tld/ to
produce absolute urls for links and images!
page = PAGE
page.10 < styles.content.get
page.config {
# deactivate Standard-Header
disableAllHeaderCode = 1
# no xhtml tags
xhtml_cleaning = none
admPanel = 0
metaCharset = utf-8
# define charset
additionalHeaders = Content-Type:text/calendar;charset=utf-8
disablePrefixComment = 1
linkVars >
}
# set the format
plugin.tx_news.settings.format = ical
# set the domain for real unique uids
plugin.tx_news.settings.domain.data = getEnv:HTTP_HOST
plugin.tx_news.settings.useStdWrap = domain
# delete content wrap
tt_content.stdWrap >
Copied!
Important: If your output still contains HTML code, please check your TypoScript
(especially from css_styled_content) as this HTML is produced there!
Automatic iCalendar feeds - based on plugins
There are use cases where many different list views are needed and each list view should also get its own iCalendar feed without any additional configuration.
The TypoScript code looks like this.
[globalVar = TSFE:type = 9819]
lib.stdheader >
tt_content.stdWrap.innerWrap >
tt_content.stdWrap.wrap >
# get away <div class="feEditAdvanced-firstWrapper" ...> if your logged into the backend
styles.content.get.stdWrap >
pageNewsICalendar = PAGE
pageNewsICalendar.typeNum = 9819
pageNewsICalendar.10 < styles.content.get
pageNewsICalendar.10.select.where = colPos=0 AND list_type = "news_pi1"
pageNewsICalendar.10.select {
orderBy = sorting ASC
max = 1
}
config {
# deactivate Standard-Header
disableAllHeaderCode = 1
# no xhtml tags
xhtml_cleaning = none
admPanel = 0
metaCharset = utf-8
# you need an english locale to get correct rfc values for <lastBuildDate>, ...
locale_all = en_EN
# define charset
additionalHeaders = Content-Type:text/calendar;charset=utf-8
disablePrefixComment = 1
linkVars >
}
# set the format
plugin.tx_news.settings.format = ical
# set the domain for real unique uids
plugin.tx_news.settings.domain.data = getEnv:HTTP_HOST
plugin.tx_news.settings.useStdWrap = domain
# delete content wrap
tt_content.stdWrap >
[global]
Copied!
Some explanations
The page object pageNewsICalendar will render only those content elements which are in colPos 0 and are a news plugin. Therefore all other content elements won't be rendered in the iCalendar feed.
Misc
Add a link to the iCalendar feed in the list view
To be able to render a link in the header section of the normal page which points to the iCalendar feed you can use something like this in your List.html Fluid template.
If you are using news records but need custom configuration and custom settings, you should think of creating a separate extension. This is really simple, just take a look at the following example.
Setup of the extension
As a demonstration, a new extension with the extension key news_filter will be created. The following files and its content is required.
ext_emconf.php
This file containts the basic information about its extension like name, version, author...
There are multiple ways how to configure which news records should be shown. The fastest way is to hardcode the configuration.
Hardcode it
By modifying the controller with the following code, you will change the output to show only those news records which fulfill the following requirements:
Important is that each element's name is prepended with settings..
Hint
Take a look at the FlexForms of the news extension for inspiration. You can even just copy & paste settings from there.
The file can be found at EXT:news/Configuration/FlexForms/flexform_news.xml.
Classes/Controller/FilterController.php
Adopt the controller to use the settings instead of the hardcoded ones.
/**
* @return NewsDemand
*/protectedfunctioncreateDemandObject(){
$demand = $this->objectManager->get(NewsDemand::class);
// Because of the naming "<settings.startingpoint>", you can use $this->settings['startingpoint']
$demand->setStoragePage($this->settings['startingpoint']);
$demand->setLimit(10);
return $demand;
}
Copied!
Extend FlexForms
Following fields of the plugin configuration can be extended without
overriding the complete FlexForm configuration.
Selectbox "Sort by"
The sorting can be extended by adding the value to
If you need an additional action to select, you can extend it by using:
// Add an additional action: Key is "Controller->action", value is label
$GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['switchableControllerActions']['newItems']['News->byFobar'] = 'A fobar action';
Copied!
Remove fields in additional actions
If you define an additional action, you won't need all available fields which are available inside the FlexForms. If you want to hide some fields,
take a look at the hook inside the class Hooks/BackendUtility.php:
Create the FlexForm file you just referenced in the hook. This can look like that.
<extra><ROOT><TCEforms><sheetTitle>Fo</sheetTitle></TCEforms><type>array</type><el><settings.postsPerPage><TCEforms><label>Max. number of posts to display per page</label><config><type>input</type><size>2</size><eval>int</eval><default>3</default></config></TCEforms></settings.postsPerPage></el></ROOT></extra>
Copied!
Events
Several events can be used to modify the behaviour of EXT:news.
Connect to Event
To connect to an event, you need to register an event listener in your custom
extension. All what it needs is an entry in your
Configuration\Services.yaml file:
<?phpdeclare(strict_types=1);
namespaceVendor\Extension\EventListener;
useGeorgRinger\News\Event\NewsListActionEvent;
/**
* Use NewsListActionEvent from ext:news
*/classYourListener{
/**
* Do what you want...
*/publicfunctionmethodToConnectToEvent(NewsListActionEvent $event): void{
$values = $event->getAssignedValues();
// Do some stuff
$event->setAssignedValues($values);
}
}
Please change the vendor and extension key to your real life code.
Demands
A demand is a configuration object used by the repository to decide which
news records should be fetched.
The default demand class implementation for the frontend output of news
is GeorgRingerNewsDomainModelDtoNewsDemand. It has a couple of
useful properties that can be used to filter news records, for example
$categories, $searchFields, $author and many more.
There is also the property $customSettings an array of custom settings
by extensions. You should use your extension name as key in this array.
Demand objects can be changed in a couple of ways, see below:
URL Parameter
The URL parameter overwriteDemand can be used to override properties
of the demand.
TypoScript can be used to define a class containing a
custom implementation
of the demand object. This can be achieved by the TypoScript setting
settings.demandClass.
Custom controllers
The demand object can be used in a custom controller used in an extension
extending EXT:news. Read more about using a demand object in a custom
controller:
Extension based on EXT:news: FilterController.php.
Hooks
Several hooks can be used to influence the demand object and its usage.
Hook findDemanded
The hook findDemanded is very
powerful. It allows to modify the query used to fetch the news records depending
on values set in the demand object. You can find an example of how to use it in
the chapter Hooks: Example findDemanded.
Hook createDemandObjectFromSettings
The hook createDemandObjectFromSettings
($GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['Controller/NewsController.php']['createDemandObjectFromSettings'])
can be used to influence the settings of the demand object as it is used in
most standard actions in the NewsController, such as the
listAction(), selectedListAction() and detailAction().
This hook can be used to insert settings from custom TypoScript or custom
FlexForm configuration into the demand object. (See also
Extend FlexForms)
Events
Multiple events can change or use demand objects. For example the events of
the main actions in the NewsController, for example
NewsListActionEvent and NewsDetailActionEvent. For more
information refer to the chapter Events.
Custom demand class
All custom frontend news demand classes must extend
GeorgRingerNewsDomainModelDtoNewsDemand. The demand object is
a simple configuration object. It should contain no business logic. For each
property there must be a setter and a getter.
With version 7.2 a new data processor, AddNewsToMenuProcessor has
been added which is useful for detail pages to add the news record as
fake menu entry.
This data processor can be used to add the currently displayed news record
to a pages breadcrumb.
Usage
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
as = breadcrumbMenu
special = rootline
# [...] further configuration
}
20 = GeorgRinger\News\DataProcessing\AddNewsToMenuProcessor
20.menus = breadcrumbMenu,specialMenu
Copied!
The property menus is a comma-separated list of
MenuProcessors that shall have the currently displayed news record
attached as fake menu entry.
Follow this chapter to learn how to add new fields or actions.
It is important to know how this concept is implemented. If a class should be extended, EXT:news will generate
a new file containing the original class of the extension itself and all other classes which should extended it.
The TCA defines which tables and fields are available in the backend and how those are rendered (e.g. as input field, textarea, select field, ...).
In this example, the table tx_news_domain_model_news will be extended by a simple input field.
Therefore, create the file Configuration/TCA/Overrides/tx_news_domain_model_news.php.
Domain/Model/News is the namespace to the class which should be extended and eventnews is the extension key.
Custom class
As the class Domain/Model/News should be extended, create a file at the same path in the own extension which is
typo3conf/ext/eventnews/Classes/Domain/Model/News.php:
In this example, the new type is configured to show the fields bodytext and title.
Therefore, create the file Configuration/TCA/Overrides/tx_news_domain_model_news.php.
EXT:news is using Fluid as templating engine. If you are used to Fluid
already, you might skip this section.
This documentation won't bring you all information about Fluid but only the
most important things you need for using it. You can get
more information in the TYPO3 Documentation
TYPO3 Explained: Fluid,
t3extbasebook:Index or many third party sites, videos and books.
Use a site package extension
It is recommended to always store overwritten templates in a custom TYPO3
extension. Usually this is done in a special extension called the
site package.
Create a directory called
EXT:mysitepackage/Resources/Private/Extensions/News for example and
create 3 directories therein called Templates, Partials and
Layouts. In these directories you can store your version of the Fluid
templates that you need to override.
As any Extbase based extension, you can find the original templates of the
extension news in the directory EXT:news/Resources/Private/.
If you want to change a template, copy the desired files to the
directory in your site package. If the template is in a sub folder you have to
preserve the folder structure.
It is not recommended anymore to store Fluid templates in the
fileadmin directory.
Changing paths of the template
Warning
You should never edit the original templates of an extension as those changes
will vanish if you upgrade the extension.
In the most common case, where you want to override the standard news template
with your own templates you can use the TypoScript constants to set the
paths:
It is recommended to always include the path from the TypoScript constants
last (with the highest numeral) so that the site package can still override
the templates.
Change path of the pagination widget
The path of the pagination widget can be changed by using a configuration like below.
If using Fluid, the templates are structured by using Layouts, templates and partials.
Layouts
Layouts are used to structure the output of a plugin. A simple example is to
wrap every output with the same <div> element. Therefore it is not
needed to repeat this code and write it only once.
This means that the output of the section content will be rendered
inside a div with the class myFancyNews.
Templates
Every action (like the List View, the Detail View,
Date Menu or a Category Listing) needs its own
template which can be found at
EXT:news/Resources/Private/Templates/<Model>/<ActionName>.html.
If Layouts are used, it is required to define the name of the Layout
(which is identical to the file name of the layout file without file extension).
<f:layoutname="General" /><f:sectionname="content">
This will be rendered
</f:section>
Copied!
Note
It is optional to use layouts. If those are not used, the complete
content of the template is shown.
Partials
Partials are used within templates to be able to reuse code snippets.
If you open the template Templates/News/List.html you will see the
render ViewHelper:
This will embed the output of the partial which is located at
Partials/List/Item.html (attribute partial, line 2). All
arguments which are used in the attribute arguments (line 3ff)
are available in the partial itself.
You can override existing partials or create your own and name them as you like.
Sections
Sections are very similar to partials. The difference is that sections
are defined in the same file as the template.
ViewHelpers
Every Fluid ViewHelper starts with <f:. The view helpers supplied by
TYPO3 are documented in the ViewHelper Reference.
Any other ViewHelpers from other extensions can be used by using a
namespace declaration like
Then ViewHelpers of EXT:news can be used with prefix n:. You can find
the available ViewHelpers in the chapter
ViewHelper reference.
Bootstrap templates
The following Twitter Bootstrap Template variants are available:
v3
v5
To be able to use it, include additionally the entry News Styles Twitter Bootstrap or News Styles Twitter Bootstrap V5 in the section "Include Static (from extensions)" in the template record.
By changing the following constants, you can use those templates as base for your work.
This section contains snippets making EXT:news more awesome which might be useful for your projects as well.
Show FAL properties in fluid
Every property of a file, e.g. the copyright (available via EXT:filemetadata) can be rendered in templates by using e.g. {file.originalResource.properties.copyright}.
Use <f:debug>{mediaElement.originalResource.properties}</f:debug> to get all available properties
Improved back links
The back link on a detail page is a fixed link to a given page. However it might be that you use multiple list views
and want to change the link depending on the given list view.
A nice solution would be to use this JavaScript jQuery snippet:
If you need to list news next to each other and need some additional CSS
classes, you can the following snippet.
The provided example will wrap 3 items into a div with the class "row".
ViewHelpers are used to add logic inside the view.
There basic things like if/else conditions, loops and so on. The system
extension Fluid has the most important ViewHelpers already included.
To be able to use a ViewHelper in your template, you need to follow always the
same structure which is:
<f:fo>bar</f:fo>
Copied!
This would call the ViewHelper fo of the namespace f which stands for Fluid.
If you want to use ViewHelpers from other extensions you need to add the namespace
declaration at the beginning of the template. The namespace declaration for the news extension is:
Now you can use a ViewHelper of news with a code like:
<n:headerData><!-- some comment --></n:headerData>
Copied!
If you want to know what a ViewHelper does, it is very easy to find the related
PHP class by looking at the namespace and the name of the ViewHelper.
Having for example GeorgRingerNewsViewHelpers and headerData
you will find the class at news\Classes\ViewHelpers\HeaderDataViewHelper.php.
The most of awesome thing is that you can use ViewHelpers of any extension in
any other template by just adding another namespace declaration like:
If you need to extend this, the best way is to introduce your own TypoScript which can be saved anywhere.
This needs then to be referenced in the template.
To be able to group the records, Fluid will load every record itself and
groups those afterwards.
If you plan to group many records just for getting something like a count,
maybe it is better to fire the query directly and don't use Fluid for that.
However if the result is on a cacheable page, the issue is only relevant on the
first hit.
Filter news by multiple categories
The default category template Category/List allows only filtering by a single category. If you need to filter by multiple categories, you can use such template:
The extension needs to be installed as any other extension of TYPO3 CMS. Get the
extension by one of the following methods:
Use composer: Run
composer require georgringer/news
Copied!
in your TYPO3 installation.
Get it from the Extension Manager: Switch to the module Admin Tools > Extensions.
Switch to Get Extensions and search for the extension key
news and import the extension from the repository.
Get it from typo3.org: You can always get current version from TER
by downloading the zip version. Upload the file afterwards in the Extension
Manager.
It uses a 3-number versioning scheme: <major>.<minor>.<patch>
Major: Breaking changes
Minor: New functionality, backwards compatible (without breaking changes)
Patch: Bug fixes (without breaking changes)
Before an update
Before you start the update procedure, please read the changelog of all versions which have been
released in the meantime! You can find those in the manual here.
Furthermore it is always a good idea to do updates on a dedicated test installation or at least create a database backup.
Migration
EXT:news provides a powerful import module which can be used to add news and category records from various sources.
To be able to migrate records, you need to activate the import module.
This needs to be done in the configuration of EXT:news inside the Extension Manager.
Activate the checkbox "Show importer", save and reload the backend. Now you should see the backend module "News Import".
Switch to the backend module.
Select "Import tt_news category records" from the select box and start the import of categories.
Select "Import tt_news news records" from the select box and start the import of news records.
Migration of plugins
The plugins of tt_news can be migrated to plugins of EXT:news as well. This is done by using the CLI:
If a lot of similar titles are used it might be a good a idea to migrate the unique aliases to be sure that the same alias is used.
# temporary tableCREATETABLE tx_realurl_uniqalias_migration LIKE tx_realurl_uniqalias;
# copyINSERTINTO tx_realurl_uniqalias_migration SELECT * FROM tx_realurl_uniqalias WHERE tablename='tt_news';
# fix itUPDATE tx_realurl_uniqalias_migration SET value_id = (SELECT tx_news_domain_model_news.uid FROM`tx_news_domain_model_news`WHERE tx_news_domain_model_news.import_id=tx_realurl_uniqalias_migration.value_id),tablename='tx_news_domain_model_news'WHERE tablename='tt_news';
# remove wrong alias (news which have not been imported)DELETEFROM tx_realurl_uniqalias_migration WHERE tablename='tx_news_domain_model_news'AND value_id=0;
# insert alias back into realurl tableINSERTINTO tx_realurl_uniqalias (tstamp,tablename,field_id,value_alias,value_id,lang,expire) SELECT tstamp,tablename,field_id,value_alias,value_id,lang,expireFROM tx_realurl_uniqalias_migration
Copied!
Not migrated
Be aware that some things are not migrated:
Templates
TypoScript configuration
Backenduser & -group configuration
Additional fields added to tt_news by 3rd party extensions
Migration from realurl to news with routing
This tutorial will describe to migrate realurl aliases to news path_segment.
Requirements
Installed extension news
DB table tx_realurl_uniqalias (EXT:realurl not required to be installed)
Migration
Migration of aliases
If a lot of similar titles are used it might be a good a idea to migrate the unique aliases from realurl to news path_segment to ensure that the same alias are used.
Use Installtool Upgrade Wizard, where a wizard only appears, if missing slugs found between realurl and news.
Requires database table "tx_realurl_uniqalias" from EXT:realurl, but EXT:realurl requires not to be installed.
This wizard migrates only matching realurl alias for news entries, where path_segment is empty, respecting language and expire date from realurl.
Cause only empty news slugs will be generated within this migration, you may decide to empty all news slugs before.
The result of this migration can still left empty slugs fields for news entries.
Therefore you should generate these slugs afterwards using the news slug updater wizard.
Improved preview of content element relations contentElementPreview
contentElementPreview
contentElementPreview
type
bool
Default
1
If set, the preview in the backend is rendered as in the page module.
Enable manual sorting of news records manualSorting
manualSorting
manualSorting
type
bool
Default
If set, news records can be manually sorted in the list view by the well
known icons "up" and "down".
Disable required date field dateTimeNotRequired
dateTimeNotRequired
dateTimeNotRequired
type
bool
Default
If set, the date field of the news record is not a required field anymore.
Furthermore if creating a new record, it is not filled anymore with the
current date.
Be aware that using this feature may lead to unexpected results if using
e.g. the date menu if the field is not used anymore.
Advanced preview configuration for media files advancedMediaPreview
advancedMediaPreview
advancedMediaPreview
type
bool
Default
1
If enabled, more options are available for editors defining where an media
element should be displayed.
Slug behaviour slugBehaviour
slugBehaviour
slugBehaviour
type
string, keyword
Default
unique
Choose one of the following slug behaviours:
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
The same news title in different sites will lead to different slug names.
Backend Module
Show administration module showAdministrationModule
showAdministrationModule
showAdministrationModule
type
bool
Default
1
If set, the backend module "News" is shown. This view might be easier for
editors who use a very limited set of features in the backend.
Hide page tree for Administration module hidePageTreeForAdministrationModule
hidePageTreeForAdministrationModule
hidePageTreeForAdministrationModule
type
bool
Default
If set, the backend module "News" is shown without the page tree. In
combination with the TsConfig redirectToPageOnStart you can
achieve a very simple workflow for editors if those need only to create
news records.
Import Module
Show importer showImporter
showImporter
showImporter
type
bool
Default
If set, the backend module "News import" is shown. This is used to
import news articles from sources like t3blog, tt_news or custom providers.
UID of storage to use when importing files/images storageUidImporter
storageUidImporter
storageUidImporter
type
int
Default
1
Define the uid of the storage which is used for importing media elements
into FAL relations.
In which folder should the importer save files/images (has to exist) resourceFolderImporter
resourceFolderImporter
resourceFolderImporter
type
string
Default
/news_import
Define the folder which is used for the media elements which are imported.
Alternative configuration instead of Admin Tools
Instead of defining the property in the Admin Tools it is also possible to define
the properties in the AdditionalConfiguration.php. This is useful if
you want to include the setting in version control.
This section covers all settings, which can be defined in the plugin itself.
To improve the usability, only those settings are shown which are needed by
the chosen view (The setting orderBy is for example not needed in the single view).
Important
Every setting can also be defined by TypoScript setup. However, please inform
yourself about the setting overrideFlexformSettingsIfEmpty.
Properties
Sheet general
Sort by orderBy
orderBy
orderBy
type
string
Default
'datetime'
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
Define the sorting of displayed news records.
The chapter "Extend news > Extend flexforms"
shows how the select box can be extended.
Sort direction orderDirection
orderDirection
orderDirection
type
string
Default
'desc'
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
Define the sorting direction which can either be "asc" for
ascending or "desc" descending. This can be either asc or desc.
plugin.tx_news.settings.orderDirection = asc
Copied!
Date field to use dateField
dateField
dateField
type
string
Default
'datetime'
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
The date menu builds a menu by year and month and the given news records.
The menu can either be built by using the date field or the archive field.
Category selection categories
categories
categories
type
string
Default
(none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
Define the news categories which are taken into account when getting the
correct news records
plugin.tx_news.settings.categories = 1,2,3
Copied!
Caution
Don't forget to set the category mode too! See property below.
Category mode categoryConjunction
categoryConjunction
categoryConjunction
type
int
Default
0 (Don't care, show all)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
The category mode defines how selected categories are checked. 5 options are available:
1 (Don't care, show all)
There is no restriction based on categories, even if categories are defined.
2 (Show items with selected categories (OR))
All news records which belong to at least one of the selected categories are shown.
3 (Show items with selected categories (AND))
All news records which belong to all selected categories are shown.
4 (Do NOT show items with selected categories (OR))
This is the negation of #2. All news records which don't belong to any of the selected categories are shown.
5 (Do NOT show items with selected categories (AND))
This is the negation of #3. All news records which don't belong to all selected categories are shown.
plugin.tx_news.settings.categoryConjunction = 2
Copied!
Include subcategories includeSubCategories
includeSubCategories
includeSubCategories
type
boolean
Default
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
Include subcategories in the category selection
plugin.tx_news.settings.includeSubCategories = 1
Copied!
Archive archiveRestriction
archiveRestriction
archiveRestriction
type
string
Default
(none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.archiveRestriction = active
Copied!
News records can hold an optional archive date. 2 modes are available:
active: Only active (non archived)
All news records with an archive date in the future are shown.
archived: Archived
All news records with an archive date in the past are shown.
Hint
Records with no archive date aren't shown in any of the selected modes.
Time limit (LOW) timeRestriction
timeRestriction
timeRestriction
type
string
Default
(none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.timeRestriction =-1 week
Copied!
The time limit offers 3 different options.
Date
A date in the format HH:mm DD-MM-YYYY can be set and only news records that are newer than this date are shown.
Example: 15:30 01-04-2020 (April 1st, 2020 at 3.30 pm)
Time in seconds
Only news records with a maximum age (compared to the Date & Time field) are shown.
Example: An input like 86400 shows only news records which are one day (60 seconds * 60 minutes * 24 hours) old.
Time in words
It is also possible to define the maximum age in words. Examples are:
-3 days
last Monday
-10 months 3 days 2 hours
Words need to be in English and are translated by using strtotime .
Time limit (HIGH) timeRestrictionHigh
timeRestrictionHigh
timeRestrictionHigh
type
string
Default
(none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
See timeRestriction above. The configuration is the same but for the higher time end.
Top news topNewsRestriction
topNewsRestriction
topNewsRestriction
type
int
Default
plugin.tx_news.settings.topNewsRestriction =2
Copied!
Any news record can be set as Top News. Therefore it is possible
to show news records depending on this flag.
1: Only Top News records
Only news records which the checkbox set are shown.
2: Except Top News records
Only news records which don't have the checkbox set are shown.
Show a single news record singleNews
singleNews
singleNews
type
int
Default
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.singleNews =789
Copied!
It is possible to show a specific news record in the Detail view if the uid is set with this property.
Allow preview of hidden records previewHiddenRecords
previewHiddenRecords
previewHiddenRecords
type
int
Default
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.previewHiddenRecords = 1
Copied!
If set, also records which are normally hidden are displayed. This is
especially helpful when using a detail view as preview mode for editors.
The setting enablePreviewOfHiddenRecords is needed (instead of
previewHiddenRecords) if the detail view plugin is used and the plugin
configuration option previewHiddenRecords is set to
"Defined in TypoScript" (value 2).
Note
Be aware to secure the page (e.g. using a TypoScript condition to make it
available only if an backend user is logged in) as this page could
be called by anyone using any news record uid to see its content.
Note
If set, any hidden records on the current page are shown as well!
If a startingpoint is set, all news records which are saved on one
of the selected pages are shown, otherwise news of all pages are shown.
Recursive recursive
recursive
recursive
type
int
Default
0 (No recursion)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.recursive = 2
Copied!
The search for pages as startingpoint can be extended by setting a recursive
level.
Sheet additional
PageId for single news display detailPid
detailPid
detailPid
type
int
Default
0 (none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.detailPid =12
Copied!
This page is used as target for the detail view. If nothing set, the current
page is used.
Hint
Be aware that this setting might not be used, depending on the setting
detailPidDetermination.
PageId for list display listPid
listPid
listPid
type
int
Default
0 (none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.listPid =12
Copied!
This page is used as target for the listings, for example the date menu and
the search form.
PageId to return to backPid
backPid
backPid
type
int
Default
0 (none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.backPid =12
Copied!
Define a page for the detail view to return to. This is typically the page on which the list view can be found.
Max records displayed limit
limit
limit
type
int
Default
0 (none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.limit =10
Copied!
Define the maximum records shown.
Starting with given news record offset
offset
offset
type
int
Default
(none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.offset = 3
Copied!
Define the offset. If set to e.g. 2, the first 2 records are not
shown. This is especially useful in combination with multiple plugins on
the same page and the setting limit.
Tags tags
tags
tags
type
string
Default
(none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
Add a constraint to the given tags
Hide the pagination hidePagination
hidePagination
hidePagination
type
boolean
Default
0 (do not hide)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
If defined, the pagination is not shown.
Items per Page list.paginate.itemsPerPage
list.paginate.itemsPerPage
list.paginate.itemsPerPage
type
int
Default
10
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
Define the amount of news items shown per page in the pagination.
Sort "Top news" before topNewsFirst
topNewsFirst
topNewsFirst
type
boolean
Default
0 (Do not show top news first)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.topNewsFirst =1
Copied!
If set, news records with the checkbox "Top News" are shown before
the others, no matter which sorting configuration is used.
If checked, news items which are already rendered are excluded in the
current plugin.
To exclude news items, the viewHelper <n:excludeDisplayedNews newsItem="{newsItem}" />
needs to be added to the template.
Note
The order of rendering in the frontend is essential as the information
which news record is shown and should not be included anymore is fetched
during runtime.
Disable override demand disableOverrideDemand
disableOverrideDemand
disableOverrideDemand
type
boolean
Default
1 (Disable override)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.disableOverrideDemand =1
Copied!
If set, the settings of the plugin can't be overridden by arguments in
the URL. Read more about demands.
Sheet template
Max width for media elements media.maxWidth
media.maxWidth
media.maxWidth
type
int
Default
0 (none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
Maximum width of assets
Max height for media elements media.maxHeight
media.maxHeight
media.maxHeight
type
int
Default
0 (none)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
Maximum height of assets
Length of teaser (in chars) cropMaxCharacters
cropMaxCharacters
cropMaxCharacters
type
int
Default
0 (do not crop)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.cropMaxCharacters =100
Copied!
Define the maximum length of the teaser text before it is cropped.
Template Layout templateLayout
templateLayout
templateLayout
type
string
Default
(none, use default)
Path
plugin.tx_news.settings
Scope
Plugin, TypoScript Setup
plugin.tx_news.settings.templateLayout = 123
Copied!
Select different layouts. See this section
how to add layouts.
General settings
Any setting needs to be prefixed with plugin.tx_news.settings..
Properties
cssFile
cssFile
cssFile
type
string
Default
Depends on the chosen layout
Path
plugin.tx_news.settings
Path to the css file. This is included with the Layouts.
format
format
format
type
string
Default
html
Path
plugin.tx_news.settings
Set a different format for the output. Use e.g. xml for RSS feeds.
useStdWrap
useStdWrap
useStdWrap
type
string
Default
singleNews
Path
plugin.tx_news.settings
Add all TypoScript properties as a comma separated list which need
support for stdWrap.
The default behaviour of Extbase is to override settings from
TypoScript by the one of the FlexForms. This is even valid if the setting is
left empty in the FlexForms.
Therefore you can define those settings which value should be taken from
TypoScript if nothing is set in the plugin.
displayDummyIfNoMedia
displayDummyIfNoMedia
displayDummyIfNoMedia
type
boolean
Path
plugin.tx_news.settings
Default
1
If set and no preview image is defined in the record, a placeholder
image defined via list.media.dummyImage is shown.
This setting defines which page is used for the link to the detail view.
3 possible options are available which processed in the given order until
a page has been found.
flexform
This setting tries to get the detail page from the plugin's setting
detailPidPageId for single news display which
can also be set by using TypoScript:
# If set via TypoScript, also add detailPid to the setting "overrideFlexformSettingsIfEmpty"
plugin.tx_news.settings.detailPid = 123
Copied!
categories
A detail page can also be defined for every category. Use the field
Single-view page for news from this category for that.
default
This type tries to get the value from the setting defaultDetailPid:
plugin.tx_news.settings.defaultDetailPid = 456
Copied!
defaultDetailPid
defaultDetailPid
defaultDetailPid
type
int
Default
Path
plugin.tx_news.settings
If detailPidDetermination contains the keyword "default" this
value is used to determine the pid used for detail links of news records.
hideIdList
hideIdList
hideIdList
type
string
Default
(none)
Path
plugin.tx_news.settings
Define a list of ids of news articles which are excluded in the view. This
is similar to the setting excludeAlreadyDisplayedNews but the
exclusion is defined in TypoScript instead of the template.
Example: Hide current news in the list
As an example this excludes the news record of a detail action of the
same page:
plugin.tx_news.settings {
useStdWrap := addToList(hideIdList)
hideIdList.cObject = TEXT
hideIdList.cObject {
data = GP:tx_news_pi1|news
}
}
Overload the demand object which is used to build the queries. Read more
about how to use and extend demands.
link.hrDate
link.hrDate
link.hrDate
type
boolean / array
Default
Path
plugin.tx_news.settings
The url to a single news record contains only the uid of the record.
Sometimes it is nice to have the date in url too (for example
https://example.org/news/2021/8/news-title.html).
If this setting is enabled parameters for year, month and day are added
to the URL. A Routing configuration can then be used
to create a human readable date like the example above.
Each parameter (day, month, year) can be separately configured by using
the full options of the php function date() . This example will
add the day as a number without leading zeros, the month with leading
zeros and the year by using 4 digits:
link = 1
link {
hrDate = 1
hrDate {
day = j
month = m
year = Y
}
}
Copied!
This option is only applied if the build-in
LinkViewHelper is used
link.typesOpeningInNewWindow
link.typesOpeningInNewWindow
link.typesOpeningInNewWindow
type
string
Default
2
Path
plugin.tx_news.settings
Comma separated list of news types which open with target="_blank"
Default is 2 which is the news type "Link to external page".
This option is only applied if the build-in
LinkViewHelper is used.
facebookLocale
facebookLocale
facebookLocale
type
string
Default
en_US
Path
plugin.tx_news.settings
Facebook locale which is used to translate facebook texts.
Examples are de_DE, fr_FR, ...
opengraph
opengraph
opengraph
type
array
Path
plugin.tx_news.settings
Additional open graph properties can be defined using TypoScript.
Those are included in the the template partial
EXT:news/Resources/Private/Partials/Detail/Opengraph.html.
The most important properties are filled automatically:
og:title
is filled with the field Alternative title or if that is empty
with the Title.
og:description
is filled with the field Description or if that is empty with
the Teaser.
If no news entry is found, it is possible to use various types of error handling.
showStandaloneTemplate
A template is rendered. The syntax is
showStandaloneTemplate,<path>,<errorCode>, for example
showStandaloneTemplate,EXT:news/Resources/Private/Templates/News/DetailNotFound.html,404
redirectToListView
Redirect to the list view on the same page.
redirectToPage
Redirect to any page by using the syntax redirectToPage,<pageid>,<status>.
This means e.g. redirectToPage,123,404 to redirect to the page with UID 123 and error code 404.
pageNotFoundHandler
The page not found handler defined in the site configuration is called.
Example: Show a custom not found template
If the current news record is not found, show the custom template instead and
return the HTTP-code 404 (not found):
EXT:news uses a custom ViewHelper to render the pagination.
The following settings are available:
class
The class that should be used for the pagination
itemsPerPage
Define how many items are shown on one page.
insertAbove
Set it to 0 to hide the pagination before the actual news items.
insertBelow
Set it to 0 to hide the pagination after the actual news items.
maximumNumberOfLinks
If set, not all pages of the pagination are shown but only the given amount. Imagine
1000 news records and 10 items per page. This would result in 100
links in the frontend.
rss {
channel {
title = {$plugin.tx_news.rss.channel.title}
description = {$plugin.tx_news.rss.channel.description}
language = {$plugin.tx_news.rss.channel.language}
copyright = {$plugin.tx_news.rss.channel.copyright}
generator = {$plugin.tx_news.rss.channel.generator}
link = {$plugin.tx_news.rss.channel.link}
}
}
Copied!
search.fields
search.fields
search.fields
type
string
Path
plugin.tx_news.settings
Default
teaser,title,bodytext
Comma separated list of fields which are used for the search.
Hint
You can also search in relations, e.g. the category title by using
categories.title
search.splitSearchWord
search.splitSearchWord
search.splitSearchWord
type
boolean
Path
plugin.tx_news.settings
Default
If set to 1, the search subject will be split by spaces and it will
not only find the phrase but also if the search terms are scattered
in a field.
As an example: Searching for hello world will give you as result also
the news item with the title hello the world. The search terms must be
found in the same field, which means that a news item with the world
hello in the title and the word world in the bodytext won't be found.
Hint
If you need a better search experience, think about using something like EXT:solr!
TsConfig
This section covers all configurations that can be made with the TSconfig
shipped by the extension news. If you are interested in what you can do
with the general TsConfig in news records have a look at
General TSconfig examples.
Every TSconfig configuration of extension news starts with tx_news..
Note
Just for clarification: TsConfig is in TYPO3 only used for configurations
inside the backend!
The select box Template Layout inside a plugin can be extended by
using TSconfig. Contains an array with key-value pairs. It is possible to
define Groups using the --div-- keyword.
allowedColPos
Limit a layout to a list of colPos values.
Examples: Add template layouts
Show 3 layout options with the specified key / value pairs.
tx_news.templateLayouts {
1 = Foobar
2 = Another one
3 = --div--,Group 2
4 = Blub
}
Copied!
You can use this setting within the Fluid template by checking
{settings.templateLayout}. See a complete example:
Template selector tutorial.
By using the configuration allowedColPos it is possible to restrict a
template layout to a specific list of colPos values.
# Example:
tx_news.predefine.archive = next friday
Copied!
tagPid
tagPid
tagPid
type
integer
Path
tx_news
Besides the configuration in the
Extension Configuration it is also
possible to define the pid of tags created directly in the news record by
using TSconfig:
Example: store new tags on page 123
Store new tags on page 123.
# Example:
tx_news.tagPid = 123
Copied!
categoryRestrictionForFlexForms
categoryRestrictionForFlexForms
categoryRestrictionForFlexForms
type
bool
Path
tx_news
After defining the category restriction in the
Extension Configuration
it is also possible to restrict the categories in the news plugin.
This needs to enabled by TsConfig:
If a sys folder is configured with Contains Plugin:News,
content elements are hidden on those pages in the page and list module.
If the content elements should be shown, use the Page TsConfig.
Define a list of columns which are displayed in the administration module.
Default is.
Example: Show the columns datetime, archive and author
tx_news.module.columns = datetime,archive,author
Copied!
defaultPid
defaultPid
defaultPid
type
int
Path
tx_news > module
If no page is selected in the page tree, any record created in the
administration module would be saved on the root page.
If this is not desired, the pid can be defined by using defaultPid.<tablename>:
Example: Set default pid for new news records
New news records will be saved on the page with ID 123.
# Example
tx_news.module.defaultPid.tx_news_domain_model_news = 123
Copied!
localizationView
localizationView
localizationView
type
bool
Path
tx_news > module
Default
1
Ability to disable the localizationView in the administration module. Example:
Example: Disable the localization view
tx_news.module.localizationView = 0
Copied!
controlPanels
controlPanels
controlPanels
type
bool
Path
tx_news > module
Default
Display control panels to sort, hide and delete records in the administration
module.
Example: Enable the control panels
tx_news.module.controlPanels = 1
Copied!
allowedCategoryRootIds
allowedCategoryRootIds
allowedCategoryRootIds
type
string, comma separated list of integers
Path
tx_news > module
Reduce the shown categories by defining a list of root category IDs.
Example:
Example category tree
├── [10] Cat 1
├── [12] Cat 2
├ └──[13] Cat 2 b
├── [14] Cat 3
└── [15] Cat 4
Copied!
tx_news.module.allowedCategoryRootIds = 12,15
Copied!
Category tree shown
├── [12] Cat 2
├ └──[13] Cat 2 b
└── [15] Cat 4
Copied!
redirectToPageOnStart
redirectToPageOnStart
redirectToPageOnStart
type
integer
Path
tx_news > module
If no page is selected, the user will be redirected to the given page.
Example: redirect the user to page 456
Redirect the user to the page with the uid 456, if no other page is chosen.
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
9.3.1 - 17th March 2022
Important bugfixes
Support of pagination with limit & offset
Since the transformation from the ViewHelper widgets to the pagination API the
pagination didn't allow to set an additional limit and offset in the plugin.
This works now again.
All Changes
This is a list of all changes in this release:
2022-03-17 [BUGFIX] Make the limit and offset in combination with pagination work (Commit bc85dff1 by Georg Ringer)
2022-03-16 Apply fixes from StyleCI (#1747) (Commit d18ad5bf by Georg Ringer)2022-03-16 [FEATURE] List tags in admin module (Commit 0495266b by Georg Ringer)
2022-03-16 [TASK] Adopt classcopyright (Commit 2df86068byGeorgRinger)
2022-03-16 [BUGFIX] FixnoticesinNewsController (Commita043c278byGeorgRinger)
2022-03-16 ApplyfixesfromStyleCI (#1742) (Commit 77c75b91byGeorgRinger)
2022-03-16 [BUGFIX] FixnoticeinPageViewQueryHook (Commitfdac4d02byGeorgRinger)
2022-03-16 [BUGFIX] Fallbackforcategoryoverlayinbackend #1740 (Commit 12aa9135byGeorgRinger)
2022-03-15 [BUGFIX] FixnoticeinRecordListQueryHook (Commit 52d12735byGeorgRinger)
2022-03-15 [TASK] Removemediapreviewinbackendlist (Commit 46951129 byGeorgRinger)
2022-03-14 [TASK] ChangepathtodummyImageforusingEXT:newswithtypo3/cms-composer-installers 4.0 (#1739) (Commitd893d410byAndreasKessel)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
9.3.0 - 14th March 2022
Important features
Support of single_pid in linkhandler
The linkhandler can be used to generate links to news records by editors using the UI.
If the field single_pid of a news categories is used to define a dynamic target page instead of one hardcoded page, the following userFunc can now be used to get the correct page:
config.recordLinks.tx_news {
typolink {
# Detail page
parameter.cObject = USER
parameter.cObject {
userFunc = GeorgRinger\News\Service\LinkHandlerTargetPageService->process
news.data = field:uid
# Page used if no detail page is set in the category
fallback = 123
}
additionalParams.data = field:uid
additionalParams.wrap = &tx_news_pi1[controller]=News&tx_news_pi1[action]=detail&tx_news_pi1[news]=|
}
}
Copied!
All Changes
This is a list of all changes in this release:
2022-03-09 [BUGFIX] News::getDatetime can be null (Commit a46afa56 by Georg Ringer)
2022-03-04 [BUGFIX] Change used constants in TWB5 templates (Commit 641a22bc by Georg Ringer)
2022-02-21 [TASK] Adopt sorting in LinkHandlerTargetPageService (Commit 811472cc by Georg Ringer)
2022-02-21 [BUGFIX] Fix georgringer/news#1576: extension classes can be included twice and cause fatail error (#1727) (Commit 4e984e7c by Dmitry Dulepov)2022-02-18 Apply fixes from StyleCI (#1726) (Commit 36da8ace by Georg Ringer)2022-02-18 [DOC][FEATURE] Example how to skip dedicated detail page (Commit c066cf5d by Georg Ringer)
2022-02-18 [FEATURE] Provide linkhandler with category single_pid (Commit b1cae28b by Georg Ringer)
2022-02-14 [BUGFIX] Add workspace-restriction to XML-sitemap (#1722) (Commit 0abc861d by maximilian-walter)2022-02-14 [DOCS] Clear cache for auto-publishing (#1718) (Commit a71a0560 by Lina Wolf)2022-02-07 [BUGFIX] Avoid notice exception on ClassCacheManager (Commit 48a4e4b7 by Georg Ringer)
2022-02-04 [BUGFIX] Fix notices in backend (#1717) (Commit ade53b52 by Thomas Lüder)2022-02-02 [FEATURE] Display number of news per category in Category Menu (#1699) (Commit 70beb6a8 by Philipp Kitzberger)2022-02-02 [TASK] Do not link current page in pagination #1663 (Commit b74a4db0 by Georg Ringer)2022-02-02 [BUGFIX] Show pagination only if required (Commit 99510b74 by Georg Ringer)
2022-02-02 [BUGFIX] Show pagination only if required (Commit a6e5b43d by Georg Ringer)
2022-02-02 [BUGFIX] Fix notices in backend (Commit a201e24c by Georg Ringer)
2022-02-02 [BUGFIX] Add "section" to link URL if uriOnly = 1 (#1709) (Commit 7013fa79 by Felix Heller)2022-02-02 [BUGFIX] Fix "section" attribute in link tags (#1708) (Commit f59f21db by Felix Heller)2022-01-28 [BUGFIX] Fix notice in CategoryService (Commit ffd8c12a by Georg Ringer)
2022-01-26 [BUGFIX] Remove bogus line (Commit 31a241a5 by Georg Ringer)
2022-01-25 [TASK] Remove not needed template (Commit 6de45b36 by Georg Ringer)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
9.2.2 - 25th January 2022
Bugfix release
This release is just a bugfix release.
All Changes
This is a list of all changes in this release:
2022-01-25 [BUGFIX] Allow nullasreturn value of NewsRepository::findByUid (Commit ca58c4f1 by Georg Ringer)
2022-01-24 [BUGFIX] Rename variable name in NewsBaseController (Commit 1f21a325 by Georg Ringer)
2022-01-23 [TASK] Remove ajax pagination left overs (Commit 76c09fca by Georg Ringer)
2022-01-11 Update BackendUtility.php (#1688) (Commit d5c2c795 by Naderio)2022-01-11 [DOCS] Display TypoScript and Extension configuration as confvals (#1696) (Commit fa5ffbdb by Lina Wolf)2022-01-11 [BUGFIX] Fix pagination style for Bootstrap 3 (#1693) (Commit 19367ea8 by Daniel Haupt)2022-01-11 Apply fixes from StyleCI (#1702) (Commit b81878a0 by Georg Ringer)2022-01-11 [TASK] Further array check (Commit e6a0534b by Georg Ringer)
2022-01-11 [BUGFIX] Improve constructor merging (Commit fc3daf55 by Stig Nørgaard Færch)
2022-01-11 [BUGFIX] Check for variable in PageLayoutView (Commit 985ced62 by Georg Ringer)
2022-01-11 [BUGFIX] Better type checks for PHP8 (Commit cfe9fd7b by Georg Ringer)
2022-01-05 [BUGFIX] Move Changelog back to previous position (#1690) (Commit 8ad6c136 by Lina Wolf)2022-01-05 [FEATURE] Display TSconfig as confvals (#1695) (Commit cd580513 by Lina Wolf)2021-12-23 Update Item.html (#1666) (Commit 877000e5 by Thorsten Griebenow)2021-12-23 [DOCS] Fix installation page (#1671) (Commit 374fbf72 by Sybille Peters)2021-12-23 [DOCS] Update information about versioning (#1680) (Commit e447b4a0 by Sybille Peters)2021-12-23 [BUGFIX] Take language id into account when generating a unique value in SlugService (#1684) (Commit 82fa4b3c by Wolfgang Klinger)2021-12-23 [DOCS] Automate Screenshots (#1682) (Commit a097d3a6 by Lina Wolf)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:'%ad %s (Commit %h by %an)' --date=short.
9.1.1 - 20th December 2021
Christmas release
All Changes
This is a list of all changes in this release:
2021-12-16 [TASK] Update module_administration.svg (#1677) (Commit a1d143ef by bucheggerOnline)2021-12-16 [DOCS] Add portal-like startpages (#1679) (Commit 28555eef by Lina Wolf)2021-12-12 [DOCS] Minor improvements on How to start page (#1670) (Commit 2e79c284 by Sybille Peters)2021-12-12 [DOCS] Minor improvements on thanks page (#1669) (Commit df5da57f by Sybille Peters)2021-12-12 [DOCS] Changes related to Extension Configuration (#1672) (Commit 0bc2d96e by Sybille Peters)2021-12-12 [DOCS] Improve style (#1675) (Commit ab49e789 by Sybille Peters)2021-12-12 [DOCS] Fix formatting for typoscript (#1674) (Commit 17d9d7d4 by Sybille Peters)2021-12-10 [BUGFIX] Properties of type DateTimeInterface should be nullable (Commit 4fd307ee by Georg Ringer)
2021-12-05 [DOCS] Fix typo (#1667) (Commit 53f2e97d by Alexander Nitsche)2021-12-02 [BUGFIX] Replace outdated usage of clearable (Commit 9ab99cc3 by Georg Ringer)
2021-11-23 [DOC] Update badges in readme (Commit 923b9649 by Georg Ringer)
2021-11-23 [DOCS] Add General TSconfig examples (#1649) (Commit d5bbd3ce by Lina Wolf)2021-11-23 [DOCS] documents data processors (#1655) (Commit eddb7d96 by Lina Wolf)2021-11-23 Fix deprecated tests (Commit 1f4024bd by Georg Ringer)
2021-11-23 [TASK] Remove test classwithouttest (Commitdaf71ea6byGeorgRinger)
2021-11-23 [BUGFIX] Removeinvalidcharacter (Commitef7e00f2byGeorgRinger)
2021-11-23 [BUGFIX] Allownullforarchive (Commit 03cf9093byGeorgRinger)
2021-11-20 Fixpathtonews_only.tsconfig (#1650) (Commitbae5fb38byMichaelBinder)
2021-11-17 fixsmalltypo (#1648) (Commit 85297d36byVolkerBurggräf)
2021-11-16 [TASK] Removetrailingdotfrompaginationoverview (#1647) (Commita24f20f2byBenjaminFranzke)
2021-11-11 [BUGFIX] Removeoutdatedlinkvalidatorconfiguration #1644 (Commitdd9d1bdabyGeorgRinger)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:'%ad %s (Commit %h by %an)' --date=short.
9.1.0 - 11th November 2021
Important features
Twitter Bootstrap v5 templates
Thanks to Carsten Hager who provided templates variants based on Twitter Boostrap v5 which have been added next to the TWBv3 templates.
Improved manual
Thanks to Lina Wolf who updated the documentation and provided lots of additional information!
Support of lazy loading images
The following TypoScript configuration has been added which are used in the templates.
If EXT:fluid_styled_content is not set, provide the configuration yourself.
All Changes
This is a list of all changes in this release:
2021-11-10 [BUGFIX] Return description of media #1643 (Commit 977c0dfa by Georg Ringer)2021-11-10 [DOC] Add suggestion for fluid_styled_content #1642 (Commit 40b1623d by Georg Ringer)2021-11-10 [DOC] Mention the twb5 templates in the according docs (Commit 66428004 by Georg Ringer)
2021-11-10 [TASK] Add description for suggestion instead of version information (Commit 6b5d0fd6 by Georg Ringer)
2021-11-10 [DOC] Add example how FAL properties can be rendered (Commit d393772b by Georg Ringer)
2021-11-10 [TASK] Add addQueryString:1 to TWB5 pagination (Commit 8ba5623d by Georg Ringer)
2021-11-10 [DOCS] Explain concept of "Demands" (#1638) (Commit 90f6aad8 by Lina Wolf)2021-11-05 [BUGFIX] Handle hreflang event only if news is found #1532 (Commit f63e4408 by Georg Ringer)2021-11-05 [BUGFIX] Usecorrectalt/titleforlistitemsinTWBvariants (Commit 40e97f12byGeorgRinger)
2021-11-05 [FEATURE] Supportlazyloadingforimages (Commit 061c3968byGeorgRinger)
2021-11-05 ApplyfixesfromStyleCI (#1637) (Commit 4221725bbyGeorgRinger)
2021-11-05 [BUGFIX] Fix #1400: makemod.web_list.deniedNewTables/mod.web_list.allowedNewTablesworkagain (#1401) (Commitfe0cb3f5byDmitryDulepov)
2021-11-05 [BUGFIX] AbstractDemandedRepository::countDemandedusesgenerateQuery (Commit 95f8eb09byGeorgRinger)
2021-11-05 [TASK] Supportworkspacesfortags #1397 (Commit 0c4b8b45byGeorgRinger)
2021-11-05 [TASK] AddoptionuniqueInPidtoslugoptions #1298 (Commita22f5f36byGeorgRinger)
2021-11-05 [BUGFIX] FixSQLdefinitionforrelated_link (#1436) (Commit 16be8bf1byEricChavaillaz)
2021-11-05 [TASK] Removenonexistingopengraphtags #1264 (Commit 08b95e37byGeorgRinger)
2021-11-05 [BUGFIX] Respectcategoriesfromdemand (#1555) (Commit 770c2ee2byThomasHelmrich)
2021-11-03 [DOCS] ModernizePage "Save & Preview" (#1634) (Commit 71c4e3a1byLinaWolf)
2021-11-01 [BUGFIX] AllownullforNews::contentElements (Commita4ff4ac6byGeorgRinger)
2021-11-01 [Docs] Improvedocumentationcontent (#1628) (Commit 29004c02byLinaWolf)
2021-10-26 [BUGFIX] PropermigrationofExtensionUtility::configurePlugin #1617 (Commit 49732f58byGeorgRinger)
2021-10-26 [DOC] Improveexampleforproxyclassgeneration #1576 (Commit 3c85c812byGeorgRinger)
2021-10-26 [BUGFIX] Addquerystringtopaginationlinks #1618 (Commit 9297aa56byGeorgRinger)
2021-10-26 [DOCS] FixSyntax, bringrstuptodate (#1620) (Commitb241a78cbyLinaWolf)
2021-10-26 [FEATURE] Bootstrap 5 Templates (Commitf65b09bfbyCarstenHager)
2021-10-25 Fixcodeexamples (#1615) (Commit 0639533dbyLinaWolf)
2021-10-25 [DOC] Fixdateinreleasenotes (Commita9f5752cbyGeorgRinger)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
9.0.0 - 23th October 2021
Support for TYPO3 10 && 11
This version fully supports TYPO3 10 and 11 LTS.
Due to a lot of changes it might be that small issues still might occur. Please report those at https://github.com/georgringer/news/issues!
Breaking changes
The following changes should be carefully checked.
The parameter in the URL changed as well and is now &tx_news_pi1[currentPage] instead of &tx_news_pi1[@widget_0][currentPage]. Please adopt your routing configuration!
The view-helper to retrieve image related information like width/height has been changed.
The attribute image is now required. The following changes have been done in the default templates and can be duplicated to the custom templates:
2021-07-21 [BUGFIX] Fix page permissions SQL clause in Page-Utility (#1438) (Commit 0af5cb4a by Ingo Fabbri)2021-07-15 [BUGFIX] Create valid DTSTAMP in List.ical (#1535) (Commit 0be75d03 by Markus Klein)2021-07-13 Remove noBlur = 1 (#1517) (Commit ba5edd06 by Daniel Koether)2021-07-13 [BUGFIX] Clear cache for old pid when move news record (#1531) (Commit a4c954a3 by Christoph Lehmann)2021-07-08 [BUGFIX] Ensure Demand properties have correct data type (#1528) (Commit 936bb818 by Markus Klein)2021-06-01 [BUGFIX] module.localizationView can be disabled (#1518) (Commit cd1d45c4 by Markus Klein)2021-05-20 [BUGFIX] Exclude domain models from DI container scanning (#1512) (Commit e0399174 by Oliver Eglseder)2021-04-03 [BUGFIX] Preview of translations in strict language mode (#1484) (Commit ee889f83 by Christoph Lehmann)2021-03-23 [BUGFIX] Rebuild caches if not existing (#1470) (Commit dbfa9ec2 by Georg Ringer)2021-03-18 [FEATURE] Define a setting for the typeNum of the rss feed (#1493) (Commit e8692d4c by Jan Kiesewetter)2021-03-16 [DOC] Add configuration for Edit on GitHub button (#1486) (Commit daf47b36 by Sybille Peters)2021-03-11 [DOCS] Description of settings.timeRestriction (#1476) (Commit 44043e1a by Felix Heller)2021-02-17 [TASK] Always show path_segment field (Commit 99fbc185 by Georg Ringer)
2021-02-05 Fix doc in NewsAvailability class (#1434) (Commit 47c37f4eby ŁukaszUznański)
2021-01-19 [BUGFIX] Hideeditlockfornonadmins (#1427) (Commit 7b72b79bbyechavaillaz)
2021-01-13 [DOC] Usecorrectconditionfornewsdetailviewdetection (#1421) (Commit 02a8d117byMarkusKlein)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
2021-01-12 [BUGFIX] Exclude current news in simpleprevnext (Commit 13e538cf by Georg Ringer)
2021-01-08 [DOC] Index news records, don't index page itself (SEO) (#1337) (Commit 20e3bdc6 by Sebastian Klein)
2021-01-08 [TASK] Fix annotations (Commit e1a0838e by Christian Bülter)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
The mimimum TYPO3 version is either 9.5.17 or 10.4.12.
All Changes
This is a list of all changes in this release:
2021-01-04 [BUGFIX] Adjust the IRRE xclass to match v10.4.12 (#1412) (Commit b13d167a by Markus Klein)2020-12-31 [DOC] Add documentation to limit available content element CTypes (#1411) (Commit 77d0d62c by Peter Kraume)2020-12-17 [BUGFIX] Fix invalid crop usage in RenderMediaViewHelper (#1409) (Commit a8bca7c7 by Markus Klein)2020-12-11 [BUGFIX] Prevent double encoding of metatag content (#1403) (Commit 2f452fdf by Markus Klein)2020-12-11 [BUGFIX] Fix entry level in category menu for TYPO3 10 (#1404) (Commit c3944732 by echavaillaz)2020-11-20 [DOC] Fixed locale for LocaleModifier example (#1386) (Commit a1ecb3b1 by Torben Hansen)2020-11-20 [BUGFIX] Usecorrecttimeinical (#1392) (Commit 50bd6917byMarkusKlein)
2020-11-15 [BUGFIX] Setcorrectdefaultforfe_groupfield (Commitf7f989cdbyGeorgRinger)
2020-11-02 [BUGFIX] Correctlyadjusttimezoneinsitemap (#1380) (Commit 8f40f411byMarkusKlein)
2020-10-22 [TASK] RemovemaxItemsforselectedList (#1373) (Commit 7b1a52cabyayacoo)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
Thanks to Andrea Moroni (https://www.web-to-date.com/) for sponsoring this important feature!
It is now possible to render a correct language menu on detail pages which respects if a news record is translated or not.
10 = TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor
10 {
as = languageMenu
addQueryString = 1
}
11 = GeorgRinger\News\DataProcessing\DisableLanguageMenuProcessor
# comma separated list of language menu names11.menus = languageMenu
Copied!
All Changes
This is a list of all changes in this release:
2020-10-20 [FEATURE] Disable language menu item if news is not translated (Commit 99caedee by Georg Ringer)
2020-10-16 [TASK] Remove trailing comma (Commit d1834a3d by Georg Ringer)
2020-10-15 [TASK] Update outdated links (#1369) (Commit 4e7cab53 by Simon Schaufelberger)2020-10-15 [BUGFIX] Map translated news aliases (#1363) (Commit 9f535c3d by creifenscheid)2020-10-15 Apply fixes from StyleCI (#1367) (Commit f0f20c93 by Georg Ringer)2020-10-15 [BUGFIX] show correct overlay palette for video and audio filetypes (#1366) (Commit 13244e80 by Richard Vollebregt)2020-10-08 [BUGFIX] BE module category search (#1359) (Commit 0fccc9a4 by Markus Klein)2020-10-05 [BUGFIX] respect sys_language in FindInList (#1357) (Commit e1680790 by Henrik Ziegenhain)2020-10-01 [TASK] Revert FilterMenuPagesHook (Commit 0bb7a10e by Georg Ringer)
2020-09-30 [BUGFIX] Check if _PAGES_OVERLAY_REQUESTEDLANGUAGE exists (Commit 87e28e62 by Georg Ringer)
2020-09-29 [FEATURE] Filter detail pages if news is not translated (Commit 957d2be1 by Georg Ringer)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
2020-09-25 [TASK] Drop DataMapper workaround for QueryInterface injection (Commit e82cff29 by Georg Ringer)
2020-09-25 Apply fixes from StyleCI (#1348) (Commit 91f2a266 by Georg Ringer)2020-09-25 [BUGFIX] Fix failing test (Commit a34348c0 by Georg Ringer)
2020-09-25 [BUGFIX] Show sitemap_changefreq only for version 10. (Commit 757c306e by Georg Ringer)
2020-09-25 Apply fixes from StyleCI (#1346) (Commit 6cf21870 by Georg Ringer)2020-09-25 [TASK] Remove self_accessor from styleci.yml (Commit 78ae4f7b by Georg Ringer)
2020-09-25 [TASK] Remove no_alias_functions from styleci.yml (Commit e269fd27 by Georg Ringer)
2020-09-25 [TASK] Remove unused property in test (Commit 30dffa9a by Georg Ringer)
2020-09-25 [BUGFIX] Remove wrong displayCond (Commit 20e98668 by Georg Ringer)
2020-09-21 [TASK] UseaddToListforallowedNewTables (Commit 9f21abdabyGeorgRinger)
2020-09-16 fasted ==> fastest (#1339) (Commit 0fbfadbdbyFranzHolzinger)
2020-08-28 Addmissingpagekeytoconfigsection (#1329) (Commit 868701f1byMartinHummer)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
2020-05-12 [TASK] Raise requirements for TYPO3 Core (Commit 2a3bf518 by Georg Ringer)
2020-05-12 [FEATURE] Ship custom List.html of EXT:fluid_styled_content (Commit 9c92a3e0 by Georg Ringer)
2020-05-06 [DOC] Proper changelist for8.2.0 (Commit 1401dc7c by Georg Ringer)
Copied!
This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
The slug eval configuration of all 3 slug fields (news,tag and category record) is changed from uniqueInSite to unique.
If you really need uniqueInSite you can switch to this setting in the Extension settings in the Install Tool.
Some further explanation:
If uniqueInSite is used, news records in multiple sites can have the slug. The drawback is that those news can't be shared between these sites.
Using unique means that news records in multiple sites have always a different slug, no matter if the title is the same or not. Therefore news can be shared between multiple sites.
All Changes
This is a list of all changes in this release:
2020-05-06 Apply fixes from StyleCI (#1262) (Commit c0a7da2e by Georg Ringer)2020-05-06 [!!!][BUGFIX] Change slug evaluation to unique instead of uniqueInSite (Commit b578b8f1 by Georg Ringer)
2020-05-06 [BUGFIX] Force integer for chunk size (Commit d41e9471 by Georg Ringer)
2020-05-05 [TASK] Avoid TCA migration entries for10 LTS (Commit 9fd89417 by Georg Ringer)
Copied!
This list has been created by using git log 8.1.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
8.1.1 - 4th May 2020
Important changes
If you are using TYPO3 10.4.0, please update to 10.4.1!
All Changes
This is a list of all changes in this release:
2020-05-04 Apply fixes from StyleCI (#1254) (Commit b0222e5d by Georg Ringer)
2020-05-04 [BUGFIX] Add default priority #1253 (Commit 57fcf9ad by Georg Ringer)
2020-05-04 [DOC] Remove outdated doc about sitemap (Commit ed6da01c by Georg Ringer)
2020-05-03 [BUGFIX] Check for correct pageTitle setting (#1251) (Commit 8359bbce by Andreas Fernandez)
2020-04-29 [BUGFIX] Create valid returnUrls in BE module (#1247) (Commit b060df67 by Markus Klein)
Copied!
This list has been created by using git log 8.1.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
8.1.0 - 28th April 2020
Important changes
The following changes might be important for your installation.
Adopt minimum requirements
If still using TYPO3 9.5, the minimum TYPO3 version is now 9.5.16.
The reason is the class TYPO3CMSCoreInformationTypo3Information which is available since this version.
Custom ChunkViewHelper
The ViewHelper IteratorChunk has been copied from EXT:vhs to EXT:news to be independent from other extensions.
2020-04-28 [TASK] Mention VH remove in docs (Commit 1b70f3de by Georg Ringer)
2020-04-28 [TASK] Allow more versions of rx_shariff in ext_emconf (Commit 62d0cbaa by Georg Ringer)
2020-04-28 [TASK] Allow more versions of rx-shariff (Commit b388b026 by Georg Ringer)
2020-04-28 [TASK] UseTypo3Version (#1239) (Commitb8b8c511byGeorgRinger)
2020-04-28 [TASK] AddtestforChunkViewHelper (Commit 6ba0aec3byGeorgRinger)
2020-04-28 [FEATURE] AddVHiterator:chunk (Commitc58b81e4byGeorgRinger)
2020-04-28 [BUGFIX] FixredirecttoTSconfigconfiguredstoragepage (#1233) (Commite8b30d74byMarkusKlein)
Copied!
This list has been created by using git log 8.0.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
8.0.0 - 2020/21/04
Support for TYPO3 9 & 10
This version supports TYPO3 9 and 10 LTS only. To ease the upgrade from older installations, the upgrade wizards for news are still kept.
A big thanks to:
TYPO3 Academic Committee and especially Doris Leonhardt for organizing sponsorings by various universities: Hochschule Osnabrück, Hochschule Offenburg, Technische Universität Kaiserslautern, Universität Ulm, Universität Rostock, Bauhaus-Universität Weimar, Universität Wien, Otto-Friedrich-Universität Bamberg, Technische Universität München, Akademie der Wissenschaften und der Literatur Mainz, Hochschule Darmstadt
Individual sponsors: Karavas Aristeidis, Susanne Moog, naderio.de, Damian Ickler, atnexxt, Stephan Salzmann, Rainer Karnowski, Sebastian Klein, Markus Timtner, Fritz Knauf, Marco Bresch, Marc Fell, Andreas Heller, Metin Yilmaz
This release wouldn't have been possible without your support!
Also thanks to Benjamin Franzke and Sebastian Fischer who helped codewise a lot.
Breaking changes
The following changes should be carefully checked.
Removed ViewHelpers
The following Social ViewHelpers have been removed:
Disqus
GooglePlus
Gravatar
Twitter
Facebook/Comment
Facebook/Like
Facebook/Share
Attention
Check out if one of those ViewHelpers are in use and either remove the usage in the templates or copy the ViewHelper to your site package.
Remove local xlf files
The translated xlf files have been removed in favor of Crowdin as Language Service. In TYPO3 10 Crowdin is used by default, for 9 Crowdin must be enabled with a feature flag.
Watch out that only the configuration $GLOBALS[’TYPO3_CONF_VARS']['EXTENSION']['news'] is used.
The serialized counterpart $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'] has been deprecated with TYPO3 9 already!
Remove import command
The import command controller has never really been used and has been removed.
Features
Improved SEO features
The TitleTagViewHelper has been migrated to use the PageTitleProvider.
Hreflang on news detail pages
If using languages with the language mode strict, the hreflang tag must only be generated if the according news record is translated as well!
EXT:news reduces the rendered hreflang attributes by using this event and checking the availability of the records.
Check availability in Fluid templates
If you are building a language menu and want to check if the news record is available, you can use the ViewHelper
<n:check.pageAvailableInLanguage language="{languageId}">. A full example can look like this:
This list has been created by using git log 7.3.1..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.3.1 - 2019/29/08
All Changes
This is a list of all changes in this release:
2019-08-29 [TASK] Add translations (Commit f2727976 by Georg Ringer)
2019-08-29 [BUGFIX] Fix XCLASS for XliffParser in 8 (Commit 8e995ac9 by Georg Ringer)
Copied!
This list has been created by using git log 7.3.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.3.0 - 2019/28/08
Important changes
Starting of major refactoring
This release is the starting point of next major refactoring project. The main target is to support TYPO3 9 & 10 LTS.
Providing support for 2 LTS versions has got the following advantages:
- People using 9 already get the new features
- Upgrade to 10 is therefore easier because it means that the extension is already compatible
So what is it all about:
SEO: Support for MetaTag-API, custom TitleTag-Provider, custom Sitemap-Provider
Translations: With 9 the translations changed a lot, so this needs to be all checked and tested
Code adoption: Fix deprecations, remove code specific to 8
Best practice: The extension is used for a lot of developers as best practice example. Some code parts need to be improved to fit the expectations.
Features: I got a couple of features in my mind as well
Breaking changes: Those won't be many and will be feature like but as those change behaviour those are still breaking.
A custom sitemap provider NewsXmlSitemapDataProvider has been added to improve the sitemaps generated by EXT:seo in version 9.
Read about its configuration in the chapter Best practice > SEO.
2019-08-28 [TASK] Update translations (Commit f2b95587 by Georg Ringer)
2019-08-19 [TASK] Fix CI issues (Commit 209bc55d by Georg Ringer)
2019-08-19 [TASK] Prioritize local language files over global ones (Commit 0bf8c488 by Georg Ringer)
2019-08-18 [FEATURE] Support hrDate in sitemap (Commit f5fd8def by Georg Ringer)
2019-08-17 [BUGFIX] Fix wrong handling of singal dispatcher result (Commit f21ff259 by Dmitry Dulepov)
2019-08-17 Apply fixes from StyleCI (#1009) (Commit cdcf2c70 by Georg Ringer)2019-08-17 [TASK] Finish docs (Commit 340e47f9 by Georg Ringer)
2019-08-16 [DOC] Start 7.3.0 notes (Commit 7b165f3d by Georg Ringer)
2019-08-16 [TASK] Update german translations (Commit b01b0b6f by Georg Ringer)
2019-08-15 [DOC] Example how to render news with same tags (Commit 1d69a13a by Georg Ringer)
2019-08-15 [BUGFIX] Usecorrectlenghtattributeinrssfeed (Commitf109bf49byGeorgRinger)
2019-08-15 [FEATURE] Additemprop="image" toimageelements (Commitff368f09byGeorgRinger)
2019-08-15 [BUGFIX] Getonlylastdefinedoptiongroup (#963) (Commitdaa6f485by 123AltmarkAgentur)
2019-08-15 [TASK] Changesluggenerationfor 8 andwizards (#1002) (Commitb9aedf7abyGeorgRinger)
2019-08-15 [BUGFIX] Respectdatesbefore 1970 indatemenu (Commita2795e21byGeorgRinger)
2019-08-15 [BUGFIX] ProvideidentifirforRealurlAliasNewsSlugUpdater (Commit 34d7023fbyGeorgRinger)
2019-08-14 [TASK] Addmoretranslations (Commitfcd1b573byGeorgRinger)
2019-08-14 UpdateCrowdinconfigurationfile (Commit 4dec05e7byGeorgRinger)
2019-08-14 [TASK] Addtranslationstotheextension (Commitad9e13bdbyGeorgRinger)
2019-08-14 [TASK]ApplyfixesfromStyleCI (Commit 1717655abyGeorgRinger)
2019-08-14 [BUGFIX] Addsupportfortaglistswithpaginationintwbtemplate (#988) (Commit 889920c9byJohannes)
2019-08-14 UpdateCrowdinconfigurationfile (Commit 43bbad50byGeorgRinger)
2019-08-14 [TASK] AddisRegisteredcheckforcustomicons (Commitebad625ebyGeorgRinger)
2019-08-14 [BUGFIX] Checkforthecategorysettingtoexistwhenaddingcategoryconstraints. (#905) (Commitdb50d859bySimonFischer)
2019-08-13 [BUGFIX] #960: SQLerrorinthesearchmodule (#961) (Commit 81fb114dbyDmitryDulepov)
2019-08-13 [TASK] RemoveDebugConsolefromimportjs (Commitaa96a55bbyGeorgRinger)
2019-08-12 [FEATURE] ProvidecustomSitemapprovider (Commit 8f3c7a8dbyGeorgRinger)
2019-08-12 [DOC] Use 7.2.3 insteadof 7.2.2 inChangelog/7-2-3.rst (#959) (Commite47ed862byGeorgTiefenbrunn)
2019-08-08 [TASK] ReplacedeprecatedconstantTAB (Commitb9f72a82byGeorgRinger)
Copied!
This list has been created by using git log 7.2.3..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.2.3 - 2019/08/06
This is a bugfix release and reverts commit 095bd174cc5134296142fb3e969c88d5a3f741af
All Changes
This is a list of all changes in this release:
2019-08-06 Revert "BUGFIX: Allow to overwrite TypoScript settings (#908)" (Commit 87c3b31f by Georg Ringer)
Copied!
This list has been created by using git log 7.2.2..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.2.2 - 2019/08/05
This is a followup bugfix release as the composer release was kind of strange.
7.2.1 - 2019/08/04
This is a bugfix release.
All Changes
This is a list of all changes in this release:
2019-08-04 [TASK] Add funding button (Commit ede0e834 by Georg Ringer)
2019-08-04 [TASK] Add renderType inputDateTime to datetime columns (#923) (Commit f13009c2 by Jan Kiesewetter)2019-08-04 [BUGFIX] Make the setRespectSysLanguage configurable in CategoryRepository (Commit 63b7a617 by Georg Ringer)
2019-08-02 [Bugfix] Constructor in subsequent proxyclasses (#947) (Commit 5402a228 by Markus Kugler)2019-07-25 Add MySQL as service to Travis conf (#946) (Commit dda700a3 by Stefan Frömken)2019-07-16 [BUGFIX] Replace undefined var $recordTitle (#941) (Commit fb5e8c6b by vaxul)2019-05-20 Fix news sitemap for multiple storage pages (#910) (Commit 4582db99 by Ayke Halder)2019-05-09 BUGFIX: Allow to overwrite TypoScript settings (#908) (Commit 095bd174 by Daniel Siepmann)2019-05-06 [BUGFIX] Add data-namespace-typo3-fluid (#902) (Commit 3db158ecbyT3Premium)
2019-05-06 [TASK] Changedatetimeandarchivefieldstobigint (#903) (Commitd0c62921byDanielHuf)
2019-05-06 [TASK] Defineabsolutetypolinksforatomfeed (#904) (Commit 45dbd213byDanielHuf)
Copied!
This list has been created by using git log 7.2.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.2.0 - 2019/04/15
Important changes
On the fly creation of tags
A special thanks to Nicole Cordes who provided a new implementation of creating tags on the fly.
The code has been taken from https://github.com/IchHabRecht/t3tags.
Features
Custom menu processor
A processor has been added which is useful for detail pages to add the news record as fake menu entry.
10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
as = breadcrumbMenu
... further configuration
}
20 = GeorgRinger\News\DataProcessing\AddNewsToMenuProcessor
20.menus = breadcrumbMenu,specialMenu
Copied!
All Changes
This is a list of all changes in this release:
2019-04-10 [DOC] Added tip for chars counter. (Commit 7b687c59 by gaumondp)
2019-04-09 [FEATURE] Allow other extensions to add actions to the news administration module (#688) (Commit c8208edd by Dmitry Dulepov)2019-04-09 [BUGFIX] Change parentcategory getter in Category model (Commit 8dc44dc5 by Georg Ringer)
2019-04-09 [BUGFIX] Reset news in detailAction if internal or external (Commit e1cb2be1 by Georg Ringer)
2019-04-09 [DOC] Example how to set link page in Fluid (Commit 23679999 by Georg Ringer)
2019-04-09 [TASK] Set correct tca information for crdate+tstamp (Commit 9773c9bc by Georg Ringer)
2019-04-09 [FEATURE] Add menu processor to add news record to menus (Commit 32ca5b56 by Georg Ringer)
2019-04-08 [BUGFIX] UselogicalAndtocombinesearchresults (Commit 30cd65d9byGeorgRinger)
2019-04-08 [TASK] Changelabelofbodytext (Commit 5faeee2fbyGeorgRinger)
2019-04-08 [FEATURE] Custompageiconforpageswithnewsplugins (Commit 9637af05byGeorgRinger)
2019-04-08 [BUGFIX] Fix #858 byaddingPageLayoutViewhooktohideallinlinett_contentelementsshowinginpagemodule (#861) (Commit 18f742afbyJarvisH)
2019-04-08 [BUGFIX] Usef:link.typolinkinsteadoff:link.page (Commit 5193e57bbyGeorgRinger)
2019-04-08 [BUGFIX] InitobjectmanagerinRenderMediaVh (Commitec4db236byGeorgRinger)
2019-04-08 [BUGFIX] AddCacheTagsByNewsRecordsforselectedListAction (#888) (Commitb1a20d0cbyAykeHalder)
2019-04-08 [DOC] ExplainroutinginTYPO3v9 (#891) (Commit 49af74f3bySebastianKlein)
2019-04-08 [BUGFIX] Removeoffsetfromcalculcationgnumberofpages (Commitaa1d4a15byGeorgRinger)
2019-04-05 [TASK] Releaseof 7.1.1 (Commit 9b0e54abbyGeorgRinger)
2019-04-05 [BUGFIX] Addmissingl10n_sourcecolumns (#890) (Commita9c907bdbyOliverHader)
2019-04-04 - parameterdisableLanguageOverlayModehasbeenaddedtothegenerateQuerymethod (#889) (Commit 40709195 byAlex)
2019-04-03 Fixstripof "ORDERBY" instatisticsquery (#883) (Commit 6a796eb4byMarkusPoerschke)
2019-03-25 [BUGFIX] Handlearray'swithinmethodPage::setRegisterProperties (#881) (Commit 9752108dbyJörgKummer)
2019-03-22 [BUGFIX] Restoredummy-preview-image (#875) (Commit 676c5319byJörgKummer)
2019-03-20 FIX #870 Exceptionwhenimportingtt_newswithnews_ttnewsimport (#872) (Commit 8adf2987byPeterLinzenkirchner)
2019-03-16 [BUGFIX] Fixcreatingtagsonthefly (Commitf8ed372fbyGeorgRinger)
2019-03-14 [BUGFIX] CreateauniqueslugvalueinSlugService (#846) (#847) (Commit 20602e8ebyWolfgangKlinger)
2019-03-09 [FEATURE] ProvidepaginationinformationtoTSFEregister (#781) (Commit 2c61711ebyp2mediaGmbH & Co. KG)
2019-03-08 [TASK] AddarchiveRestrictiontooverrideFlexformSettingsIfEmpty (Commit 1dc2ff92byGeorgRinger)
2019-03-08 [BUGFIX] Fixslugservicewithnonascii (Commit 466b44e8byGeorgRinger)
Copied!
This list has been created by using git log 7.1.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.1.0 - 2019/07/03
Important changes
The following changes might be important for your installation.
Improved slug handling
The following changes might be important if you are using news and TYPO3 9:
The slug configuration for tx_news_domain_model_news improved by using features of the Core which got merged in version 9.5.4.
The configuration looks now like:
The fields tx_news_domain_model_tag && sys_category have been extended by a slug field as well. Upgrade wizards in the Install Tool can be used to fill the slug field.
Additionally a wizard to migrate realurl alias to the slug field has been integrated.
This list has been created by using git log 7.0.8..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.0.8 - 2018/06/11
Important changes
To fix a regression of the Core regarding routing, a change has been made which requires a DB compare to add the field l10n_source.
You can also upgrade to master branch of the Core until 9.5.2 is released.
All Changes
-----------
This is a list of all changes in this release:
2018-11-02 [TASK] Document how to manipulate flexform with tsconfig (Commit 013c1d1d by Georg Ringer)
2018-10-31 [TASK] Add recordlist as dependency (Commit a70d62a7 by Georg Ringer)
2018-10-31 [TASK] Provide l10n_source field in TCA (Commit 9c8777ce by Georg Ringer)
2018-10-25 [BUGFIX] Do not override page header data on CE shortcut to news record (#772) (Commit e624f956 by jokumer)
Copied!
This list has been created by using git log 7.0.7..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.0.7 - 2018/24/10
All Changes
This is a list of all changes in this release:
2018-10-22 [TASK] Skip another test for9 (Commit 569120ad by Georg Ringer)
2018-10-22 [TASK] Fix errors in tests (Commit 8032b877 by Georg Ringer)
2018-10-22 [TASK] Skip tests for9and Extbase command controllers (Commit 95a4b687 by Georg Ringer)
2018-10-22 [TASK] Adapt ViewHelper example code (#765) (Commit 886aefe8 by jokumer)2018-10-15 [BUGFIX] Allow hiding the page tree in 9 LTS (Commit f94a5e4a by Seb Red)
2018-10-15 [BUGFIX] Improve end date in search in FE (Commit 51aa4b14 by Georg Ringer)
2018-10-15 [FOLLOWUP] Render related links as link in TYPO3 9.5 (#764) (Commit f1f6934a by echavaillaz)2018-10-12 Fix url in redirectToPageOnStart() (#757) (Commit ed5dbe61 by Seb Red)2018-10-12 Render related links as link in TYPO3 9.5 (#761) (Commit be8702ce by jokumer)2018-10-12 Render related links as link in TYPO3 9.5 (#762) (Commit 79ec29b8 by jokumer)2018-10-12 Changed confirmMsg to confirmMsgText in AdministrationController. (#713) (Commit 90a2cd8e by René Schulze)2018-10-10 [BUGFIX] Fix token generation for administration module (Commit 7db8c6e4 by Georg Ringer)
2018-10-10 [TASK] Cleanup TCA (Commit 7a174236 by Georg Ringer)
2018-10-10 [!!!][TASK] UseuniqueInSiteforpath_segment (Commit 74551101 byGeorgRinger)
2018-10-09 [BUGFIX] Fixevalofarchive (Commit 6873c7dabyGeorgRinger)
2018-10-09 [BUGFIX] Removeduplicatedenclosuretag (#752) (Commit 7a9038e2byDanielHuf)
Copied!
This list has been created by using git log 7.0.6..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
This list has been created by using git log 7.0.5..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.0.5 - 2018/16/05
All Changes
This is a list of all changes in this release:
2018-06-09 [DOC] Document how to set properties of EM #660 (Commit 1eb5c791 by Georg Ringer)2018-06-06 [BUGFIX] Make sure to have an array when asking for category permissions (#673) (Commit c4703699 by Markus Klein)2018-05-22 [TASK] Adopt .gitattributes file (Commit 6980b79f by Georg Ringer)
2018-05-22 [BUGFIX] selected in all views should be available in details view (#662) (Commit 2f18ab13 by Sébastien Rüegg)2018-05-22 [BUGFIX] Skip link generation if not possible (Commit b7d49dd9 by Georg Ringer)
2018-05-18 [TASK] Add github template issues (Commit 1342c933 by Georg Ringer)
2018-05-18 [DOC] Correct menu in changelog (Commit 9254ee3b by Georg Ringer)
Copied!
This list has been created by using git log 7.0.4..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
This list has been created by using git log 7.0.1..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.0.1 - 2018/27/04
All Changes
This is a list of all changes in this release:
2018-04-27 [TASK] Bring back old fal getters (Commit 5f609c28 by Georg Ringer)
2018-04-27 [TASK] Useuptodaterealurlconfiguration (#655) (Commit 7f1a4c1ebyMarkusKlein)
2018-04-27 [TASK] Suggestnewestversionofrx_shariff (#656) (Commit 3287d3ddbyMarkusKlein)
Copied!
This list has been created by using git log 7.0.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
7.0.0 - 2018/26/04
Important changes
The following changes might be important for your installation.
Support for TYPO3 9 & 8
This is the 1st version which supports the upcoming TYPO3 9 version. Version 8 LTS is supported as well but requires version 8.7.13.
Every usage of $GLOBALS['TYPO3_DB'] has been migrated to Doctrine DBAL.
Adopt TCA to the best practice of the Core without any deprecations.
Important
Support for version 7.6 has been dropped. With October 2018 7.6 wil have reached end of life. Check out https://typo3.com/services/extended-support/ if you need an extended support.
Improved SEO support
SEO is important to everyone and now news supports editors with an improved url handling.
Since a long time, there has been a field called path_segment which has been well hidden and can be used as alternative path segment for realurl.
Now this field has been moved right below the title and is automatically filled by the title. If the title changes, the slug field will stay the same to keep the URL in the frontend.
|img-release700-slug-field|
Important
As long as you don't change your realurl configuration, you don't benefit from the the slug field.
But if you change, be aware that URLs might change. An upgrade wizard in the Install Tools cares about filling the slug field automatically.
The documentation about realurl configuration as been adopted:
The view "selected list" which can be used to render a manual selected list of articles is now capable of sorting those just as a regular list.
Support creation filter by multiple categories
By using new ViewHelpers it is now possible to create links to filter news by multiple categories instead of only one.
<!-- check if active --><n:multiCategoryLink.isCategoryActivelist="{overwriteDemand.categories}"item="{category.item.uid}"><f:then><!-- remove link --><f:link.pagetitle="{category.item.title}"class="active"pageUid="{settings.listPid}"additionalParams="{n:multiCategoryLink.arguments(mode:'remove',item:category.item.uid,list:overwriteDemand.categories)}">dazu
</f:link.page></f:then><f:else><!-- add link --><f:link.pagetitle="{category.item.title}"class="active"pageUid="{settings.listPid}"additionalParams="{n:multiCategoryLink.arguments(mode:'add',item:category.item.uid,list:overwriteDemand.categories)}">dazu
</f:link.page></f:else>
This feature has been sponsored by h_da - Hochschule Darmstadt, https://www.h-da.de/, thanks a lot!
All Changes
This is a list of all changes in this release:
2018-01-29 [FEATURE] Restrict template layouts to colpos values (Commit 0b14c23d by Georg Ringer)
2018-01-29 [BUGFIX] Fix regression in sorting of sys_language records (Commit 2228d42e by Georg Ringer)
2018-01-29 [DOC] Fix wrong constants in rss docs (Commit 79f1a293 by Georg Ringer)
2018-01-29 [BUGFIX] Remove unwanted attributes in metatags (Commit 8fe15ad2 by Georg Ringer)
2018-01-29 [BUGFIX] Usetstampforlastmodificationinsitemap (Commite2cd8dfdbyGeorgRinger)
2018-01-24 [DOC] Usecorrectversion (Commit 24a5272cbyGeorgRinger)
Copied!
This list has been created by using git log 6.2.1..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
6.2.1- 2018/01/24
This release makes the extension compatible with PHP 5.6 again
All Changes
This is a list of all changes in this release:
2018-01-24 [BUGFIX] Make code PHP 5.6 compatible (Commit 214a4db5 by Georg Ringer)
2018-01-23 [DOC] Should be "features" instead of "feature" (#539) (Commit 8c7e1e2d by lechenbauer)2018-01-23 [TASK] Usedatetimeinsteadofcrdateforsitemap (Commitfbf2ec59byGeorgRinger)
Copied!
This list has been created by using git log 6.2.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
6.2.0 - 2018/01/23
Important changes
Improved search
By setting plugin.tx_news.settings.search.splitSearchWord = 1 the search is performed by searching by each search word, not only by the full search phrase.
A pagination information ("Page 3 of 9") is added to the page title to avoid duplicate page titles.
Removal of a ViewHelper
The ObjectViewHelper has been removed.
All Changes
This is a list of all changes in this release:
2018-01-23 [TASK] Check mod.web_list.allowedNewTables/deniedNewTables in admin module (#248) (Commit 9efa4d37 by Marc Bastian Heinrichs)2018-01-23 [TASK] Respect overwriteDemand parameters on menu creation (#439) (Commit 9cb38263 by Oliver Baran)2018-01-23 [TASK] Allow limit and offset for tags (#497) (Commit 0e2e2fa9 by Steffen Kamper)2018-01-23 [FEATURE] Disable Localization in backend module via TSConfig (#420) (#421) (Commit 5e0541f2 by ayacoo)2018-01-23 Apply fixes from StyleCI (#537) (Commit 8a3122a0 by Georg Ringer)2018-01-23 [BUGFIX] Check tablenames in mm queries (Commit 1cb623ca by Georg Ringer)
2018-01-23 [BUGFIX] Set cHash also in workspace mode (Commit f5290765 by Georg Ringer)
2018-01-23 [BUGFIX] Fix failing test (Commit bb12a525 by Georg Ringer)
2018-01-22 [DOC] Add linkhandler info (Commit 02de4016 by Georg Ringer)
2018-01-22 [TASK] Add tstamp & crdate fields to TCA for Fluid (Commit f9c1222a by Georg Ringer)
2018-01-22 [TASK] Make 2 VH compatible with 9 (Commit 2edb20d3 by Georg Ringer)
2018-01-22 [TASK] Replace ... with … (Commit e349354a by Georg Ringer)
2018-01-22 [TASK] Make PaginateVh 9 compatible (Commit 8b53482f by Georg Ringer)
2018-01-22 [DOC] Improve module vhs example (Commit 345e54a8 by Georg Ringer)
2018-01-22 [DOC] Improve doc example for ical rendering (Commit edc31bf7 by Georg Ringer)
2018-01-22 Validated output forList.xml (#457) (Commit ab01a824 by Dandy Umlauft)2018-01-22 [BUGFIX] Add missing counter increment #524 (Commit e75bab78 by Georg Ringer)2018-01-19 [DOC] Add snippet for cHash in preview links (Commit de0eec81 by Georg Ringer)
2018-01-19 [BUGFIX] Change invalid HTML of time tag (Commit 9b795285 by Georg Ringer)
2018-01-19 [TASK] Change license in composer.json (Commit 19ab9ad1 by Georg Ringer)
2018-01-19 [BUGFIX] Fix spelling (#519) (Commit ce0bcf39 by Michael Stucki)2018-01-17 Feature/php56 (#517) (Commit 436e2c5d by Georg Ringer)2018-01-16 [FEATURE] Split search words (Commit 47629cc1 by Georg Ringer)
2018-01-16 [TASK] Revert travis changes (Commit 557b6924 by Georg Ringer)
2018-01-16 [FEATURE] Avoid duplicate title for pagination (Commit 7d9b3dc0 by Georg Ringer)
2018-01-16 [TASK] Respect type in sitemap (Commit 277966b8 by Georg Ringer)
2018-01-16 [TASK] Raise testing-framework version (Commit 0f9cc40b by Georg Ringer)
2018-01-16 [DOC] Improve documentation snippet (Commit a4d11b02 by Georg Ringer)
2018-01-16 Apply fixes from StyleCI (#511) (Commit b684e4c7 by Georg Ringer)2018-01-16 [TASK] Migrate SitemapGenerator todoctrine (Commit 699ff734 by Georg Ringer)
2018-01-16 [TASK] Remove PHP 5.5 from travis tests (Commit 0e41c332 by Georg Ringer)
2018-01-16 [TASK] Remove phpcs fixes in favor of styleci (Commit 808ace42 by Georg Ringer)
2018-01-16 [BUGFIX] Fix failing test in NewsRepositoryTest (Commit 3beba818 by Georg Ringer)
2018-01-16 [BUGFIX] Remove deprecated usage of buildQueryParametersPostProcess (Commit a2a585a4 by Georg Ringer)
2018-01-16 [BUGFIX] UsepropernavigationComponentIdfor 9+ (Commit 81d6b2f1byGeorgRinger)
2017-12-17 [TASK] Use $GLOBALS['SIM_EXEC_TIME'] forbuildingqueries (Commitb5c87806byGeorgRinger)
2017-12-17 [TASK] Removeunusedpalettes (Commitfa7f38acbyGeorgRinger)
2017-12-17 ApplyfixesfromStyleCI (#491) (Commit 858e3abdbyGeorgRinger)
2017-12-17 [TASK] Documentrelatedvariantsintemplate (Commit 9c638a2fbyGeorgRinger)
2017-12-17 [BUGFIX] Makeoptionlist.paginate.prevNextHeaderTagswork (#481) (Commit 9dcbff50byChristianFutterlieb)
2017-12-17 ChangedatatypefortaginnewsDemandtostring (#483) (Commitcc9f0793byTorbenHansen)
2017-12-17 fixsearchbypercentorundersCore (#486) (Commita4cde7d4byEstebanMarin)
2017-12-05 [TASK] Hideshariffnamespace (Commit 93e1b60fbyGeorgRinger)
2017-11-21 FixedTypo (#456) (Commitcb98c935byFritztheCat)
2017-11-21 [TASK] Letitworkwith 9 (Commit 9c920f19byGeorgRinger)
2017-11-21 [BUGFIX] FixcategoryusageinSitemapgenerator (Commitcac5cd8fbyGeorgRinger)
2017-11-21 [TASK] UsesortingcolumninItemsProcFunc (Commitd9a1aa96byGeorgRinger)
2017-11-06 FixPHPNoticeinext_localconf.php (#458) (Commita8e68933byTymoteuszMotylewski)
2017-10-26 ApplyfixesfromStyleCI (#453) (Commita9350093byGeorgRinger)
2017-10-26 [FEATURE] Gettranslatedcontentelementidlist (Commit 574d93e8byGeorgRinger)
2017-10-26 ApplyfixesfromStyleCI (#452) (Commit 9f3e4c0dbyGeorgRinger)
2017-10-26 [TASK] MigrateAdministrationControllertoDoctrine (Commitecc3af5cbyGeorgRinger)
2017-10-26 [TASK] Removenotneededtest (Commitef33512abyGeorgRinger)
2017-10-26 [TASK] UseFALAPIinAbstractImportService (Commit 0e32944ebyGeorgRinger)
2017-10-26 [TASK] MigrateItemsProcFunctoDoctrine (Commitb71bf638byGeorgRinger)
2017-10-26 [TASK] Removeunusedmethods (Commit 266154aabyGeorgRinger)
2017-10-26 [TASK] RemoveunusedgetterofDatabaseConnection (Commit 13fa94dabyGeorgRinger)
2017-10-26 [!!!][TASK] RemoveObjectViewHelper (Commit 2061386ebyGeorgRinger)
2017-10-26 Removeincorrectclosingbracket (#446) (Commite5a13dbabyBorisSchauer)
2017-10-01 UpdateIndex.rst (#429) (Commitf908c159byStefanIsak)
2017-09-27 [BUGFIX] Re-enablesettings.detailPidinselectedList'sflexform (#436) (Commitab55ea71byRémyDANIEL)
2017-09-22 [BUGFIX] #357 Addtt_contentctypelabelstopagelayoutviewtogetridoferrormessage (#432) (Commitbb050b02byKevinPurrmann)
2017-09-18 UpdateReadme.md (Commit 2fd3f1ebbyGeorgRinger)
2017-09-13 MovedXML-NameSpace-declarationfromdiv- orspan-tagsintoseparatehtml-tagstoachievevalidHTML5output (#415) (Commit 226951a5bySebastianWolfertz)
2017-09-13 [TASK] ChangingPhpDoctypefortsstamp (#418) (Commit 3eca0e57byThomasDeuling)
2017-09-12 Someminorfixes (#423) (Commit 5f81c827byCedricZiel)
2017-09-11 [TASK] Removeunnecessaryelsebranch (#422) (Commit 906cd336byCedricZiel)
Copied!
This list has been created by using git log 6.1.1..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
After a far too long time I managed to get a release out again. 6.1. is compatible with 7.6 LTS and 8 LTS and also supports the development version of 9 as long as the extension typo3db_legacy is installed.
Important changes
Add a new action "selectedList"
A new action makes it possible to render a list of custom selected news items. An editor can choose any amount of news records which are shown in the provided order.
The following changes are worth mentioning.
Configurable filters for the administration module
By using TsConfig it is now possible to hide filters in the administration module. The full configuration is:
Every frontend Fluid template can now access the full row of the current page by checking the variable pageData. As an example you will get the page title by using pageData.title.
All Changes
This is a list of all changes in this release:
2017-08-28 [TASK] Added add/remove functionfortaginnewsmodel(#402)(Commit 15e396d by Torben Hansen)
2017-08-24 FIX: typo(#407)(Commit 66a11fd by Philipp Kitzberger)
2017-08-24 FIX: typo(#408)(Commit 0ef6f52 by Philipp Kitzberger)
2017-08-09 SimplePrevNextViewHelperwithcustomsortFielddoesn'twork(#399)(Commit 35494ed by ayacoo)
2017-08-09 [BUGFIX] PreservelabelsforCMS 9 (Commit 4db7d4d by Georg Ringer)
2017-08-08 [FEATURE] Makeitpossibletohidefiltersinbackendmodule(#381)(Commit 9d88629 by Shakeshake)
2017-08-08 [TASK] MoveTCAtocorrectfile(Commit b46d7df by Georg Ringer)
2017-08-08 [DOC] Examplehowtomigraterealurlalias(Commit 89e418f by Georg Ringer)
2017-08-08 [DOC] Followup(Commit 60d3449 by Georg Ringer)
2017-08-08 [DOC] FixCategorypage(Commit b8a7a77 by Georg Ringer)
2017-08-08 [DOC] Fixwrongsyntax(Commit 15deb4d by Georg Ringer)
2017-07-26 [BUGFIX] FixwrongpathforRssfeedconfiguration(#319)(Commit 6a997bc by Martin Hummer)
2017-07-25 [TASK] Fixsmalltypoinnewscontroller(#366)(Commit c83f7d8 by ayacoo)
2017-07-25 [TASK] Addatitleattributetothelabel(#359)(Commit a5d4d30 by Daniel)
2017-07-25 [BUGFIX] Re-Enableimagecroppingtoolforfal_mediainTYPO3 8.7 (#362)(Commit 3b6f6e5 by Torben Hansen)
2017-07-25 Fixindentationinconsistency(#370)(Commit 3a41f6b by Jan Nils Ferner)
2017-07-25 [DOC] Addmissinginjectannotationinexample(Commit cf70cf9 by Georg Ringer)
2017-07-15 [TASK] MaketheObjectViewHelperworkwithCMS9(Commit 4a6aa84 by Georg Ringer)
2017-07-14 [FEATURE] AddpagedatatoFluidtemplates(Commit 0e0204c by Georg Ringer)
2017-07-14 [TASK] FixtypoinNewsController(#380)(Commit 8d633c0 by Shakeshake)
2017-07-14 Fixmixeduptypenumbers(#378)(Commit 3263050 by diego)
2017-07-14 [TASK] Fixemconfissues(#379)(Commit f288f3f by Shakeshake)
2017-07-11 [BUGFIX] FixwrongFluidinlinesyntaxinList.xml(#374)(Commit 3767f6e by Armin Vieweg)
2017-07-11 [BUGFIX] FixtypoinList.xmltemplate(#373)(Commit d524a1a by Armin Vieweg)
2017-07-03 ApplyfixesfromStyleCI(#367)(Commit a1159b9 by Georg Ringer)
2017-06-29 [FEATURE] Makeshowingthumbnailsconfigurable(Commit 6669043 by Georg Ringer)
2017-06-29 [TASK] Disablexdebugintravis(Commit a708dc5 by Georg Ringer)
2017-06-27 [BUGFIX] Don'tshowwarninginCEpreview(Commit 4988121 by Georg Ringer)
2017-06-27 [TASK] Register "insertrecords" inTCAoverridesfile(#354)(Commit 84b35fe by Markus Klein)
2017-06-26 [BUGFIX] ExcludehtmlctypefromIRREpreview(Commit b42a0f3 by Georg Ringer)
2017-06-14 ApplyfixesfromStyleCI(#353)(Commit ea9881b by Georg Ringer)
2017-06-14 [TASK] Changeversionto 6.1.0-dev(Commit 1cbc9fa by Georg Ringer)
2017-06-13 [BUGFIX] ResolveEXT: inpathtoerrortemplate(Commit 04bf045 by Georg Ringer)
2017-06-13 [DOC] ExampleofcategorymenuwithTS(Commit 81fdce1 by Bernd Wilke)
2017-06-13 [BUGFIX] FixwrongevaluationinIfIsActiveVh(Commit 2440fbc by Georg Ringer)
2017-06-09 [TASK] Showselectednewsinpagelayoutview(Commit 587d753 by Georg Ringer)
2017-06-07 [BUGFIX] Fixpathtoiconlabelinadminmodule(Commit 4477011 by Georg Ringer)
2017-05-30 [FIX] SetcorrectoutdatedViewHelpers(#340)(Commit 81db33f by misterboe)
2017-05-29 [BUGFIX] Fixatypointhe 6.0.0 changelog(#339)(Commit faa69cc by Stephan Brun)
2017-05-23 [TASK] AllowPHP 5.6 again(Commit 1bc43d0 by Georg Ringer)
2017-05-22 [FEATURE] Addanewview "selectedList" (Commit 961f5f8 by Georg Ringer)
2017-05-16 [DOC] Addmissingnamespace(#326)(Commit 25f2c77 by misterboe)
2017-05-16 [TASK] CHeckiftokenizerisavailable #325 (Commit 9e3f912 by Georg Ringer)
2017-05-08 [TASK] UpdatetestsonGitLabci(#322)(Commit 2ed604a by Jan Kiesewetter)
2017-05-02 [BUGFIX] Alwaysprovidecategoryandtagvaluesforlistsignal(#318)(Commit 0a218a3 by Benjamin Kott)
2017-05-02 FixdocumentationaboutupdateFlexformshook(#294)(Commit a439613 by Markus Poerschke)
2017-05-02 [BUGFIX] Don'textendpidlistforstartingpoint=-1 (#272)(Commit 6cd1b79 by Georg Tiefenbrunn)
2017-05-02 [TASK] Markimportcommandasclionly(Commit 505b42f by Georg Ringer)
2017-05-02 [FEATURE] Filterinternal & externalnewsinpagination(Commit d552a61 by Georg Ringer)
2017-05-02 Importservicefix(#303)(Commit b9f0e1d by John)
2017-05-02 AddedmissingnamespaceinSocialVH(#284)(Commit 1aa3bc0 by cvisys)
2017-05-02 Correctionsinchangelog(#313)(Commit 46ebd1f by Gerhard Rupp)
2017-04-24 [BUGFIX] FixflexformcategoryrestrictionFormDataProvider(#312)(Commit c624294 by Josef Glatz)
2017-04-21 [DOC] Updatechangelog(Commit 4ff1bf8 by Georg Ringer)
2017-04-21 [TASK] Prepare 6.0.0 release(Commit 637ccf6 by Georg Ringer)
2017-04-12 ApplyfixesfromStyleCI(#300)(Commit aa34868 by Georg Ringer)
2017-04-12 Usenimut/testing-framework(#296)(Commit 1327f25 by Nicole Cordes)
2017-04-12 [BUGFIX] UsecorrectclassinPageLayoutViewTest(Commit ae1c37a by Georg Ringer)
2017-04-10 [BUGFIX] Removewrongchar(Commit f8d05b0 by Georg Ringer)
2017-04-10 [BUGFIX] AddcaseinsensitivesecuritycheckforoverwriteDemandObject(Commit ee7b252 by Georg Ringer)
2017-04-06 ApplyfixesfromStyleCI(#291)(Commit 6ce56b7 by Georg Ringer)
2017-04-06 [BUGFIX] UsecorrectTCAforfal_mediaoverrideChildTca(Commit 3cebb32 by Georg Ringer)
2017-04-05 Addedmissingnamespace(#286)(Commit ff576cd by cvisys)
2017-04-05 Addedmissingnamepace(#285)(Commit 41351ec by cvisys)
2017-03-25 [DOC] Improvedocsforical #278 (Commit 3ca73b7 by buxit)
2017-03-25 [BUGFIX] Outcomment_LOCAL_LANGexample(Commit e6c4e85 by Georg Ringer)
Copied!
This list has been created by using git log --since="2017/03/21" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
6.0.0 - 2017/21/03
Finally 6.0.0 has been released which supports both current LTS versions, 7.6 LTS and 8 LTS.
Important changes
The following changes might be important for your installation.
Version dependency 7.6.13+ or 8.5+
To improve the performance and code quality, at least TYPO3 7.6.13 or 8.5. are required.
Deprecate ViewHelpers for Facebook, Google+, Twitter
The following ViewHelpers have been deprecated:
<n:social.facebook.like />
<n:social.facebook.comment />
<n:social.googlePlus />
<n:social.twitter />
The ViewHelpers will be removed with the version 7.0.0.
Install & configure the extension rx_shariff which takes care of the privacy of your users!
Renaming of partials
The following partials have been renamed
Detail/FalMediaContainer to Detail/MediaContainer
Detail/FalMediaImage to Detail/MediaImage
Detail/FalMediaVideo to Detail/MediaVideo
Error message if news not found
While rendering a detail view and a news record is not found anymore (e.g. because it has been deleted or set to hidden) an error message is now shown instead of an exception.
This has been achived by setting the following default TypoScript:
The administration module recived again some more love!
The link in the administration module to toggle the filter form has been moved to the toolbar.
|img-admin-module-filter|
Furthermore the template has been improved to work on smaller screens.
Disable override demand default on
The checkbox Disable override demand in the plugin is now by default enabled.
Features
List of all features.
Provide filter by type
The NewsDemand class got a new property types which can be used to filter the returned news records by its type.
Ajax Pagination
The templates and documentation has been enhanced to make it easy to use AJAX for the pagination.
Thanks to Helmut Hummel who provides the awesome extension typoscript_rendering which is used for it.
Add enclosure tag to deliver images in the stream
The List.xml template which is used for RSS feeds is enhanced with the enclosure tag which provides the url to the first preview image.
Add ViewHelper to display media files inline
Using images in the RTE is often loved by editors and disliked by integrators and developers. With this version, a mixture is available which can satisfy all users.
By using the RenderMediaViewHelper in the templates, an editor can now place the keyword [media] in the RTE which are replaced by media elements saved in the FAL relation.
Benefits:
An editor can place images and media elements where he wants
The relation is safed in a safe manner
The media elements can later be still modified
Note
As the ViewHelper and its usage is new, feedback is highly welcomed!
Improved content element relations
To improve the usability of content elements added to a news item, the preview in the backend is enhanced by rendering the content elements as in the page module.
|img-content-element-relation|
Support for EXT:guide
The extension guide shows guides to editors and makes it easy to explain features. A guide for the administration module has been added
|img-admin-module-guide|
Improved Import module
The import module has been rewritten:
Use requireJS
Use jQuery instead of ExtJS
Use bootstrap for the forms
Use a callout for the backup info
Simplify getters for FAL fields
Add easier names for the getters of fields to FAL. As the non-FAL fields have been removed, the simplified getters
have been reactivated to fetch the FAL fields. This makes the templates far easier to read.
This is an important bugfix release to make the extension working with latest 8.x version.
All Changes
This is a list of all changes in this release:
2017-01-21 [TASK] Prepare release of 5.3.2 (Commit 71c04b7 by Georg Ringer)
2016-12-14 [BUGFIX] Remove max config from date fields (Commit f5a4cc8 by Georg Ringer)
2017-01-19 [BUGFIX] add check before category restriction is added to flexforms (#220) (Commit 9b3d9f2 by Johannes)2017-01-19 [BUGFIX] Check for non-empty tag or category lists (#221) (Commit f0f91da by Markus Klein)
Copied!
This list has been created by using git log --since="2017/01/01" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
Just a bugfix release because of an error in the date menu.
All Changes
This is a list of all changes in this release:
2016-11-24 [TASK] Add test for the datemenu (#171) (Commit c33d801 by Georg Ringer)2016-11-24 [BUGFIX] make datemenu work again on 7.6 (#170) (Commit cefde85 by Martin Hummer)
Copied!
This list has been created by using git log --since="2016/09/23" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
A new signal slot has been added which can be used to manipulate the import data before it is actually used.
Hide the page tree for the admin module
A new option in the Extension Manager can be used to hide the page tree for the administration module.
In combination with the TsConfig setting tx_news.redirectToPageOnStart = 123 this can be used to build a very simple editor interface.
All Changes
This is a list of all changes in this release:
2016-09-23 [DOC] Fix more nitpicks (Commit 01f6183 by Georg Ringer)
2016-09-23 [DOC] Fix warnings in documentation (Commit 8d374de by Georg Ringer)
2016-09-22 [FEATURE] Make it possible to hide the page tree for the admin module (Commit 402b727 by Georg Ringer)
2016-09-22 [DOC] Improve documentation (Commit e045e9f by Georg Ringer)
2016-09-22 [DOC] Add example for signal slot (Commit 84d8cab by Georg Ringer)
2016-09-22 [TASK] Update php-cs-fixer (Commit a4ab31f by Georg Ringer)
2016-09-22 [TASK] Update readme.md (Commit 93a8d4d by Georg Ringer)
2016-09-22 [DOC] Improve CONTRIBUTING.md (Commit 03be588 by Georg Ringer)
2016-09-22 [DOC] Update documentation (Commit 965e050 by Georg Ringer)
2016-09-21 [FEATURE] Provide a preHydrate signal for the import (Commit 1205d21 by Georg Ringer)
2016-09-21 Merge branch 'master' of github.com:georgringer/news (Commit b7d70f2 by Georg Ringer)
2016-09-21 [BUGFIX] Fix duplicate hook key (Commit 915f63f by Georg Ringer)
2016-09-21 [BUGFIX] Allow page translations on news storages (#103) (Commit 5efe08b by Markus Klein)2016-09-18 [TASK] Hide current news from search for related news (Commit ee64a60 by Georg Ringer)
2016-09-16 [TASK] Hide the online part from related files (Commit 26c9c68 by Georg Ringer)
2016-09-15 [BUGFIX] Importer broken (Commit d125f62 by Gerald Aistleitner)
2016-09-15 [TASK] Improve rendering of tx_news_domain_model_news (Commit 5650585 by Georg Ringer)
2016-09-14 [TASK] Cleanup TCA (Commit a11d91f by Georg Ringer)
2016-09-13 [BUGFIX] Add missing quotes (Commit 6b460e4 by Georg Ringer)
2016-09-13 [TASK] Add missing css in admin module (Commit dc690be by Georg Ringer)
Copied!
This list has been created by using git log --since="2016/09/03" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
Open-Source is all about community and support! I want to thank everyone who contributed reports on forge, feedback on any channel and code!
Especially I want to thank my employer Sup7even Digital. Check out our new website http://www.sup7even.digital/!
Features
Category Constraints for FlexForms
The listing of categories inside a news record can be restricted by settings in the Extension Manager. The restriction can now be used in the FlexForm configuration as well by enabling it with TsConfig tx_news.categoryRestrictionForFlexForms = 1.
All Changes
This is a list of all changes in this release:
2016-09-09 [FEATURE] check category constraint in flexforms as well (Commit 4b9ac8f by Georg Ringer)
2016-09-09 [BUGFIX] Change rte transformation (Commit 52d21b7 by Georg Ringer)
2016-09-09 [TASK] Fix a typo (Commit 6ac3d28 by Georg Ringer)
2016-09-09 [BUGFIX] UsedifferentnamespaceforBackendUtilityinPageLayoutView (Commit 4566dfcbyGeorgRinger)
2016-09-05 [BUGFIX] ProviderequestUri (Commit 2d0c309byGeorgRinger)
Copied!
This list has been created by using git log --since="2016/09/03" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
Open-Source is all about community and support! I want to thank everyone who contributed reports on forge, feedback on any channel and code!
Especially I want to thank my employer Sup7even Digital. Check out our new website http://www.sup7even.digital/!
Features
Improved plugin rendering in page module
To improve the usability of the page module regarding the news plugin, the used settings are rendered with a complete new design.
Reworked administration module
The record listing in the administration module is now based on the record listing of the list module. There are several advantages
See translations & workspace overlays
Exact same behaviour as in the list module
Less custom code
Full support of FAL
The full range of FAL assets can now be used, e.g. videos from youtube and vimeo and every file type which is supported by the various file renderers of the Core and 3rd party extensions.
Twitter card support
Twitter supports some additional meta tags if an URL is shared. The following meta tags have been added to the the default templates:
<meta name="twitter:card" content="..." />
<meta name="twitter:site" content="..." />
<meta name="twitter:creator" content="..." />
All 3 can be filled by using constants.
As twitter recognizes and uses the og:image meta tags as well, those are not duplicated for twitter. If you need a fine tuning, please take a look at https://dev.twitter.com/cards/getting-started.
Support of shariff
If the extension rx_shariff (https://typo3.org/extensions/repository/view/rx_shariff) is installed, it will be used for the social sharing links instead of the custom ViewHelpers.
Shariff enables website users to share their favorite content without compromising their privacy.
This version fully supports TYPO3 8.3. However, if you are using the master version of TYPO3, please always use the master of news itself as well.
New icons
New svg icons are used at the following places:
Records (News, Tag, Link)
Plugin wizard
Repositioning of import module
The import module is independ from the page tree and for sure nothing what an editor should be use. Therefore it is moved into the module section "System".
Removal of old code
Pre-FAL relations
Before FAL, EXT:news used to have custom relations to own media files and related files. Those 2 relations and all related code has been removed. This includes
TCA
Model
Every migration and wizard
Any media renderer which have been based the old relations
If you are using the FAL relations and the old ones togehter in one project, you need to migrate those records! There is no migration available or planned. Either write it on your own or get in contact with me (I can not do it for free!)
Wizards & Migrations
Every previous available wizard and migration code has been removed. This includes:
Migration from custom category records to sys_category
Migration of the tt_content relation
ViewHelpers
The following ViewHelpers have been removed:
<n:categoryChildren />
<n:falMediaFactory />
<n:mediaFactory />
<n:be.buttons.iconForRecord />
<n:be.buttons.icon />
<n:be.clickmenu />
<n:be.editRecord />
<n:be.multiEditLink />
The following deprecated ViewHelpers have been removed:
<n:format.date />
<n:format.hsc />: Use <f:format.htmlspecialchars />
<n:format.htmlentitiesDecode />: Use <f:format.htmlentitiesDecode />
<n:format.striptags />: Use <f:format.striptags />
<n:format.fileDownload />: Use the native implementation of FAL
<n:format.fileSize />: Use the native implementation of FAL
Any usage will throw an exception.
Record rendering in the page module
The rendering of news records and category records in the page module has been removed.
ClassAliasMapping
The mapping from non-namespace classes to the namespace classes has been removed.
Repositioning of the tt_content relation
The relation to content elements has been moved to a separate tab.
This release contains a bugfix for the administration module
All Changes
This is a list of all changes in this release:
2016-03-09 [TASK] Remove usage of n:format.hsc (Commit b326cb5 by Georg Ringer)
2016-03-04 [BUGFIX] Fix property mapping error in admin module (Commit 6c1de6d by Georg Ringer)
This release contains mostly bugfixes but also some mentionable changes:
Support for dd_googlesitemap
The extension dd_googlesitemap can be used to generate sitemaps. An additional renderer can now generate sitemaps out of news records.
Predefine author
By using the PageTsConfig tx_news.predefine.author = 1 the author and the email address are prefilled in the news record by the data of the current backend user.
Important changes
The ViewHelper n:format.fileDownload has been marked as deprecated and will be removed with the next version. Instead of using this ViewHelper, just use the native implementation of FAL.
In the next versions, the support for non FAL fields will be removed from the extension. This includes:
The relation "tx_news_domain_model_media"
The media renderers for Youtube, Quicktime, Videosites, Vimeo, Mp3.
All features which are still state of the art will be covered by using FAL and its features.
Important changes
This release contains mostly bugfixes but also some mentionable changes:
Support of Twitter Bootstrap
Additional templates have been added which are based on the popular framework Twitter Bootstrap.
Those can be used by selecting the additional entry "News Styles Twitter Bootstrap" in the section "Include Static (from extensions)" in the template record.
By changing the following constants you can use those templates as base and add your templates on top:
2016-03-01 [TASK] Release 3.2.5 (Commit c1450d1 by Georg Ringer)
2016-02-22 [BUGFIX] Unexpected count of 0exception (Commit b15b67a by Georg Ringer)
2015-12-21 [BUGFIX] Preview of hidden news not working for translated news (Commit d424699 by Lorenz Ulrich)
2016-02-16 [BUGFIX] Readd icon for import (Commit f6ee325 by Georg Ringer)
2016-02-15 [BUGFIX] Fix double slash in meta tag VH (Commit 5214eac by Georg Ringer)
2016-01-30 [FEATURE] Add news sitemap generator using dd_googlesitemap (Commit cc5b0cb by Georg Ringer)
2016-01-27 [TASK] Exclude news lists from indexing (Commit 5e05f9d by Jan Kiesewetter)
2016-01-01 [BUGFIX] Fix category removal (Commit b699f86 by Georg Ringer)
2015-12-09 [BUGFIX] Respect more tags in newsrepository search (Commit 542d92a by Georg Ringer)
2015-11-27 [!!!][TASK] OverwriteDemand does not care about empty values anymore (Commit 1eca2e9 by Georg Ringer)
Copied!
This list has been created by using git log --since="2015/09/25" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
3.2.4 - 2015/09/26
This release adds the version to the composer.json file which is required for 6.x.
This release targets 6.2 LTS only!
To avoid entries in the deprecation log and code duplications, EXT:news for 6.2 LTS will be developed in a separated branch called 6x.
A separate release for 7.x will follow, in the meantime, just use the master branch!
The ViewHelper <n:format.striptags> is deprecated. Please use the one of the Core <f:format.stripTags>.
All Changes
This is a list of all changes in this release:
2015-09-25 [BUGFIX] Fix tests (Commit 67d573d by Georg Ringer)
2015-09-23 [TASK] Improve TCA for l10n_diff fields (Commit 8321a7f by Georg Ringer)
2015-09-23 [TASK] Remove icons for l10n_parent (Commit dffdfd6 by Georg Ringer)
2015-09-23 [BUGFIX] Fix broken PageLayout hook (Commit 8206721 by Georg Ringer)
2015-09-15 [BUGFIX] Exclude undelete from DataHandler hook (Commit 3c4d687 by Georg Ringer)
2015-09-11 [BUGFIX] Allow target in FalMediaImage (Commit f2d4509 by Georg Ringer)
2015-09-10 [BUGFIX] User correct defaultfor useFal setting (Commit a405472 by Markus Klein)
2015-09-10 [BUGFIX] Revert reverted title change again (Commit 6b3b63b by Markus Klein)
2015-09-09 Revert "[BUGFIX] Revert title tag change" (Commit 9a1a28a by Georg Ringer)
2015-09-09 [TASK] Remove usage of deprecated functiongetPageRenderer()(Commit 08b06d5 by Frank Nägler)
2015-09-07 [FEATURE] Actionandclassarenowavailableinthedemandobject(Commit 5d6a906 by Georg Ringer)
2015-07-17 [FEATURE] Allowoverwritethevariablesofthecontrollersignals(Commit 805c0ab by Tim Lochmüller)
2015-03-20 [FEATURE] Provideasitemapfornews(Commit 179a2a5 by Jan Kiesewetter)
2015-09-07 [BUGFIX] RemoveplaceholdertosupportIE11(Commit f9def37 by Georg Ringer)
2015-09-07 [BUGFIX] Reverttitletagchange(Commit 92960b7 by Georg Ringer)
2015-09-07 [BUGFIX] Fixjsinsuggest(Commit c457291 by Georg Ringer)
2015-09-07 [BUGFIX] Letdisqusworkwithhttps(Commit 59a918c by Georg Ringer)
2015-09-07 [FEATURE] IncludeTsConfigforonlynewsrecords(Commit ea8e4d7 by Georg Ringer)
2015-09-03 [BUGFIX] Replaceoldclassnameswithnewones(Commit 7e39efe by Daniel Goerz)
2015-08-20 [BUGFIX] FileDownloadViewHelpertypolinkconfigurationerror(Commit 75eaf01 by Lukas Vorlicek)
2015-08-20 [TASK] Usetagconstraintintagrepository(Commit e682d25 by Georg Ringer)
2015-08-12 [TASK] Removeversionfromcomposer.json(Commit e5d027b by Marc Bastian Heinrichs)
2015-08-12 [BUGFIX] UsedifferentnamespaceforBackendUtilityinPageLayoutView(Commit 8b300c7 by Marc Bastian Heinrichs)
2015-07-19 [TASK] Cleanupusenamespaces(Commit e4e15e3 by Georg Ringer)
2015-07-19 [BUGFIX] FixpageiconinPageLayoutView(Commit df70c42 by Georg Ringer)
2015-07-19 [!!!][TASK] DeprecatestriptagsViewHelper(Commit e2e0c93 by Georg Ringer)
2015-07-17 [FEATURE] SetsuggestconfigsearchWholePhrase = TRUE(Commit e7e981e by Frans Saris)
2015-07-16 [BUGFIX] FixClassAliasMapforthePageLayoutView(Commit f4f602c by Georg Ringer)
2015-07-15 [TASK] Skipscrutinizer(Commit 89e3a59 by Georg Ringer)
2015-07-15 [CLEANUP] @authortag(Commit 81310f4 by Markus Klein)
2015-07-15 [BUGFIX] FixtemplateusageinBEfor 7.x(Commit f72f513 by Georg Ringer)
Copied!
This list has been created by using git log --since="2015/07/15" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
The TypoScript to define the templates, partials and layouts changed a bit. With 0 now the default fallback is defined and the constants can be used to change the template to a desired value.
Previously EXT:news added a field in the table of sys_category to add constraints to Frontenduser groups.
However, this constraint was never evaluated in the frontend. Furthermore other extension authors might not respect this additional global constraint.
Therefore this field is removed.
Drop support of rte_enabled checkbox
If you are using TYPO3 CMS 7.3+, the checkbox "Disable RTE" is removed because the Core in general doesn't support this concept anymore.
All Changes
This is a list of all changes in this release:
2015-07-11 [TASK] Raise limits for categories & tags (Commit 500068d by Georg Ringer)
2015-07-08 [TASK] Add sorting to import service (Commit b2575ac by Georg Ringer)
2015-07-06 [BUGFIX] Load ExtJS in Backend importer module (Commit e58841e by Ingo Pfennigstorf)
2015-07-06 [TASK] Add warning if category not found during import (Commit f29a086 by Georg Ringer)
2015-07-03 [TASK] Add more schema.org annotations (Commit a9ae199 by Markus Klein)
2015-07-03 [TASK] Improve PageLayoutView (Commit 241d18d by Georg Ringer)
2015-07-03 [BUGFIX] Usexhtmlcompatibleitemscope (Commit 4763845 byGeorgRinger)
2015-07-03 [TASK] Supportdescriptioncolumn (Commit 3279d8abyGeorgRinger)
2015-07-03 [BUGFIX] Usecorrectcallofmodules (Commit 677bbc1byGeorgRinger)
2015-07-03 [!!!][TASK] Dropsupportofrte_enabledcheckbox (Commit 5c84227byGeorgRinger)
2015-07-03 [!!!][TASK] Dropfe_groupfieldinsys_category (Commit 819b3bfbyGeorgRinger)
2015-07-03 [BUGFIX] CompatibilityofSuggestRecieverfor 7.3 (Commit 7f9e446byGeorgRinger)
2015-07-03 [BUGFIX] MakeHooks/FormEnginecompatiblewith 7.3 (Commit 056ddbcbyGeorgRinger)
2015-07-02 [BUGFIX] usecorrectclassnameforlegacyclassmapping (Commit 7d89fd7byDanielGoerz)
2015-07-01 [BUGFIX] Fixtypoinlocallang_db.xlf (Commite334d8fbyGeorgRinger)
2015-07-01 [TASK] Removetypoinpartial (Commitd0b63f2byGeorgRinger)
2015-06-15 [BUGFIX] FixupdateCategoryPermissionFieldsupdate (Commit 19bb46cbyFransSaris)
2015-06-11 [BUGFIX] Resetruncounterwhenstartingimport (Commit 5830b85byFransSaris)
2015-06-05 [BUGFIX] UsedifferentnamespaceforBackendUtility (Commit 432a7b1byGeorgRinger)
2015-06-05 [BUGFIX] migratealsosys_categorieswithlanguage -1 (Commit 697ca6cbyGeorgRinger)
2015-06-03 [BUGFIX] Addfieldnametoaccesscheckwhereclause (Commita27d0f3byGeorgRinger)
Copied!
This list has been created by using git log --since="2015/05/19" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
3.2.0 - 2015/05/19
This release is dedicated to my wedding in June! I am so excited and want to share my happiness with the TYPO3 community!
If you are using this extension, take some minutes and write me a postcard. You can find the contact data here.
If you use the feature of EXT:news to extend any class by providing a file called Resources/Private/extend-news.txt,
be aware that the implementation and registration changed! Basically all you need is to add the following code to your ext_localconf.php file:
Please take a look at the documentation where it is explained in detail.
Usage of namespaces
The extension uses now fully namespaces which meant touching every PHP class at least once!
The used vendor name is GeorgRinger!
Rename some hooks
The following files and classes have been renamed:
Hooks/T3libBefunc into Hooks/BackendUtility
Hooks/Tcemain into Hooks/DataHandler
Hooks/CmsLayout into Hooks/PageLayoutView
Hooks/Tceforms into Hooks/FormEngine
The registration of the hook $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['Hooks/T3libBefunc.php']['updateFlexforms'] changed into $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['Hooks/BackendUtility.php']['updateFlexforms'] .
If you use one of these files, change the name to the new version.
Dropping the mm table for tt_content relations
Note
This is only relevant if you use the flag Use content element relation which needs to be set
in the configuration inside the Extension Manager.
Previously, tt_content elements have been added by using the mm relation table tx_news_domain_model_news_ttcontent_mm which had some drawbacks.
The usage of this table is now dropped which means that after updating, you need to run the Update Wizard in the Install Tool to migrate the relations.
The Upgrade Wizard is called EXT:news Migrate from tt_content mm relation.
A lot of code changed in this version. The most important changes are:
A new index has been added to the database table tx_news_domain_model_news to improve the performance of translated records.
The documentation uses now a separate git repositories which is located on GitHub. This makes it easier for everyone to contribute a better documentation. The repository is located here: https://github.com/georgringer/news-documentation
This list has been created by using git log --since="2015/02/12" --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.
3.1.0 - 2015/02/12
This is a major release supporting now also TYPO3 CMS 7, next to 6.2 LTS.
Read and follow the section Upgrade procedure carefully!
Upgrade procedure
The following changes might break your installation but all are easy to solve.
itemsPerPage configuration (Commit a0baa1a)
Note
You need to take action if you see the exception "The itemsPerPage is 0 which is not allowed. Please also add "list.paginate.itemsPerPage"
to the TS setting settings.overrideFlexformSettingsIfEmpty".
The itemsPerPage can now be set in the FlexForms. Therefore it is needed to add "list.paginate.itemsPerPage"
to the configuration settings.overrideFlexformSettingsIfEmpty.
If you copied all templates to e.g. fileadmin/templates/fo/, you need to adopt the file Templates/ViewHelpers/Flv.html and change the used flowplayer version to flowplayer-3.2.16.swf.
All Changes
2014-06-03 [BUGFIX] Update 3rd party libs (Commit cde104f)
Copied!
3.0.0 - 2014/05/16
This is a major release supporting TYPO3 CMS 6.2 LTS. This is also the required version!
Read and follow the section Upgrade procedure carefully!
Upgrade procedure
As a lot of code changed, please backup your site before starting!
Support of FAL
The images are not migrated and can be still used. To do so, set the configuration "Use FAL relations instead of news media elements" in the Extension Manager > news to "Both" or "No" instead of "Yes".
The old way is however deprecated and will be removed in one of the next major versions.
Support of sys categories
The categories can be migrated by using the update wizard in the extension manager.
Templates & TypoScript
Templates, Partials & Layouts are now assigned by using templateRootPaths, partialRootPaths and layoutRootPaths which is a new feature of 6.2. Read more about it in the section "Templating".
If you enable FAL, you need to adopt your old templates as well!
If you experience any problems with your templates, please check out the default templates first to get an idea how it should look now.
Remove all DAM related stuff (e.g. calls to ViewHelpers) from the template.
Important changes
A lot of code changed in this version. Therefore it is very likely that the update is not done in 1 minute.
The most important changes are:
Support of FAL
FAL is used for the following fields:
Media
Related files
Category images
Support of sys categories
The categories of the Core (sys_category) are now used instead of custom ones.
The records are extended with those fields which are needed by "news".
Misc
Changes which should be mentioned are:
Default TypoScript uses syntax templateRootPaths, partialRootPaths, layoutRootPaths to allow chaining of the templates
If you want to migrate from EXT:tt_news, install EXT:news_ttnewsimport
Search in administration module & frontend makes use of the time restriction
The importer for tt_news has been removed to a separate extension with the key "news_ttnewsimport" which can be found in the TER or on github (https://github.com/fsaris/news_ttnewsimport).
* Even though 4.5 is still supported, PHP 5.3 is now required to be able to cover the full version range from 4.5 to 6,2
* Changes in database structure, an update in Extension Manager / Compare in Install Tool is needed
- Default value '0'for type field of news record
- Add fields for enabling basic workspace support
* EXT:news is using travis to check all UnitTests in all major TYPO3 releases. You can get the status at https://travis-ci.org/TYPO3-extensions/news
Copied!
Features
* Path to dummy images is configurable
* ViewHelper for Gravatar, thx Philipp Bergsmann
* Description field for media elements
* Description & keywords meta tag
* Support maxHeight for media elements in default templates
* Error handling in detail view if no news found. The setting settings.detail.errorHandling can either be
- pageNotFoundHandler: usepageNotFoundHandleroftheCore
- redirectToListView: redirecttolistview
- redirectToPage: redirecttoanypage, includingacustomheader
* Atomfeedsupport
* FulltextRSSfeed
* ViewHelpertosettargetoflinks: Tx_News_ViewHelpers_TargetLinkViewHelper
* MoreoptionsforFileDownloadViewHelper: class, target, alt, title
* Importfromt3blog, thxIngoRenner
* Dateformatisnowtranslateablebyusing <f:translatekey="dateFormat" />
Copied!
Important bugfixes / tasks
* Default more link in List.html
* Support of new property mapper
* Category tree in FE supports translations
* Move the domain model of tt_content to Tx_News_Domain_Model_TtContent
* Configuration in Extension Manager uses tabs to group the settings
Copied!
Miscellaneous
* Improved documentation, especially examples for ViewHelpers
* More UnitTests
* Improved translations
The following issues are known problems. However those are either not fixable inside EXT:news or not too easy to solve!
Category images on root page
Due to restrictions of the File Abstraction Layer (FAL), it is not possible to add images to categories which are
saved on the root page (uid 0). Documented at http://forge.typo3.org/issues/57515
Multilanguage
The strategy of Extbase is currently quite simple. First records are fetched and afterwards an overlay is added to get the correct translated data. Problems can be: