mediadreams / md_news_author
Adds one or more authors to a tx_news record, show a list of all authors and display a detail page of the author containing the attached news entries.
Package info
github.com/cdaecke/md_news_author
Type:typo3-cms-extension
pkg:composer/mediadreams/md_news_author
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0
- georgringer/news: ^11.0 || ^12.0 || ^13.0 || ^14.0
- typo3/cms-core: ^13.4 || ^14.0
Requires (Dev)
- ergebnis/composer-normalize: 2.50.0
- friendsofphp/php-cs-fixer: 3.94.2
- helmich/typo3-typoscript-lint: 3.3.0
- icanhazstring/composer-unused: 0.8.11 || 0.9.6
- php-parallel-lint/php-parallel-lint: 1.4.0
- phpmd/phpmd: 2.15.0
- phpstan/extension-installer: 1.4.3
- phpstan/phpstan: 1.12.33 || 2.1.40
- phpstan/phpstan-phpunit: 1.4.2 || 2.0.12
- phpstan/phpstan-strict-rules: 1.6.2 || 2.0.8
- phpunit/phpunit: 10.5.63
- rector/type-perfect: 1.0.0 || 2.1.2
- saschaegerer/phpstan-typo3: 1.10.2 || 2.1.1
- seld/jsonlint: 1.11.0
- spaze/phpstan-disallowed-calls: 4.9.2
- ssch/typo3-rector: 2.15.2 || 3.11.0
- symfony/console: ^6.4 || ^7.4
- symfony/translation: ^6.4 || ^7.4
- symfony/yaml: ^6.4 || ^7.4
- tomasvotruba/cognitive-complexity: 0.2.3 || 1.0.0
- tomasvotruba/type-coverage: 1.0.0 || 2.1.0
- typo3/cms-fluid-styled-content: ^13.4 || ^14.0
- typo3/coding-standards: 0.8.0
- typo3/testing-framework: 8.3.1
This package is auto-updated.
Last update: 2026-04-09 08:11:19 UTC
README
This extension is based on extbase & fluid and provides the famous extension ext:news of Georg Ringer
(thanks a lot @georgringer !) with one or more authors. You can centrally manage authors and attach them to
news records. The extensions comes with two plugins, one for listing all authors and one for the detail page of an
author which also shows the news records of the selected author.
Requirements
- TYPO3 >= 13.4 or 14.x
- ext:news >= 11.0
Installation
Install the extension via Composer:
composer req mediadreams/md_news_author
Configuration via Site Sets (recommended)
Site Sets are the preferred way to configure this extension in TYPO3 >= 13.4. Add the set to your
site configuration in config/sites/<your-site>/config.yaml:
dependencies: - mediadreams/md-news-author
This automatically includes all necessary TypoScript. No manual TypoScript include is needed.
You can then configure all settings directly in the Site Management > Sites backend module under the Settings tab.
Configuration via classic TypoScript
Alternatively, include the static TypoScript manually:
- Go to Web > Template and open your root template
- In the Includes tab, add
News Author (md_news_author)to the list of included static templates
Configuration
Available settings
All settings can be configured via Site Sets or classic TypoScript constants.
| Setting | Default | Description |
|---|---|---|
plugin.tx_mdnewsauthor.settings.authorDetailPid |
0 |
UID of the author detail page |
plugin.tx_mdnewsauthor.settings.newsDetailPid |
0 |
UID of the news detail page |
plugin.tx_mdnewsauthor.persistence.storagePid |
0 |
UID of the sysfolder with author records |
plugin.tx_mdnewsauthor.settings.authorList.letters |
A,B,...,Z |
Letters for the alphabetical filter |
plugin.tx_mdnewsauthor.settings.authorList.paginate.itemsPerPage |
10 |
Items per page in list view |
plugin.tx_mdnewsauthor.settings.authorList.paginate.insertAbove |
false |
Show pagination above the list |
plugin.tx_mdnewsauthor.settings.authorList.paginate.insertBelow |
true |
Show pagination below the list |
plugin.tx_mdnewsauthor.settings.authorList.paginate.maximumNumberOfLinks |
6 |
Maximum number of pagination links in list view |
plugin.tx_mdnewsauthor.settings.authorDetail.paginate.itemsPerPage |
10 |
Items per page in detail view |
plugin.tx_mdnewsauthor.settings.authorDetail.paginate.insertAbove |
false |
Show pagination above the detail view |
plugin.tx_mdnewsauthor.settings.authorDetail.paginate.insertBelow |
true |
Show pagination below the detail view |
plugin.tx_mdnewsauthor.settings.authorDetail.paginate.maximumNumberOfLinks |
6 |
Maximum number of pagination links in detail view |
plugin.tx_mdnewsauthor.view.templateRootPath |
EXT:md_news_author/…/Templates/ |
Path to Fluid templates |
plugin.tx_mdnewsauthor.view.partialRootPath |
EXT:md_news_author/…/Partials/ |
Path to Fluid partials |
plugin.tx_mdnewsauthor.view.layoutRootPath |
EXT:md_news_author/…/Layouts/ |
Path to Fluid layouts |
Usage
Create authors and attach them to news records
- Create some author records on a sysfolder (use list module, push plus-icon
Create new recordand selectNews Author) - Create a news record on a sysfolder and find the new tab
Author - Select one or more authors for the news record
- Save and close
List authors
Insert a paginated list of all authors.
- Create a plugin
News author: Author liston a page - Choose for
Page with single author viewthe page with single author view - Select the sysfolder where the author records are stored
- Additional settings can be found in the tab
List view settings - If needed, show authors of certain categories only (tab
Categories) - Save and close
Author detail page
Insert an author detail view. This page also lists all news records associated with the selected author.
- Create a plugin
News author: Show authoron a page - Optionally choose for
Page with author listthe page with the list of all authors - Select the sysfolder where the author records are stored
- Additional settings can be found in the tab
Detail view settings - Save and close
Show author in ext:news view
Access the author properties in a news record with {newsItem.newsAuthor}. Since there can be more
than one author attached to a news record, iterate over them:
<f:for each="{newsItem.newsAuthor}" as="author"> {md:ShowAuthorName(author: author)} {author.phone} {author. ...} </f:for>
Add a link to the author profile page (load the viewhelper namespace first:
{namespace md=Mediadreams\MdNewsAuthor\ViewHelpers}):
<f:for each="{newsItem.newsAuthor}" as="author"> <f:link.action action="show" controller="NewsAuthor" extensionName="mdnewsauthor" pluginName="show" arguments="{newsAuthor: author}" pageUid="{settings.newsAuthor.authorDetailPid}" title="More about {md:ShowAuthorName(author:'{author}')}"> <md:ShowAuthorName author="{author}" /> </f:link.action> </f:for>
Page TSconfig
To show only authors from a specific page in the Author tab of a news record:
TCEFORM.tx_news_domain_model_news.news_author.PAGE_TSCONFIG_STR = 1
Replace 1 with the UID of the sysfolder containing your author records.
routeEnhancers
routeEnhancers: NewsAuthorList: type: Extbase extension: MdNewsAuthor plugin: list routes: - routePath: 'page-{page}' _controller: 'NewsAuthor::list' _arguments: slug: 'newsAuthor' page: 'currentPage' - routePath: '/a-z/{letter}' _controller: 'NewsAuthor::list' _arguments: 'letter': 'selectedLetter' defaultController: 'NewsAuthor::list' requirements: page: '\d+' defaults: page: '0' aspects: page: type: StaticRangeMapper start: '1' end: '100' letter: type: StaticValueMapper map: a: A b: B c: C d: D e: E f: F g: G h: H i: I j: J k: K l: L m: M n: N o: O p: P q: Q r: R s: S t: T u: U v: V w: W x: X y: Y z: Z NewsAuthorShow: type: Extbase extension: MdNewsAuthor plugin: show routes: - routePath: '{slug}' _controller: 'NewsAuthor::show' _arguments: slug: 'newsAuthor' - routePath: '{slug}/articles-{page}' _controller: 'NewsAuthor::show' _arguments: slug: 'newsAuthor' page: 'currentPage' defaultController: 'NewsAuthor::show' requirements: slug: '^[a-zA-Z0-9].*$' page: '\d+' defaults: page: '0' aspects: slug: type: PersistedAliasMapper tableName: 'tx_mdnewsauthor_domain_model_newsauthor' routeFieldName: 'slug' page: type: StaticRangeMapper start: '1' end: '100'
Bugs and Known Issues
If you find a bug, it would be nice if you add an issue on Github.
THANKS
Thanks a lot to all who make this outstanding TYPO3 project possible!
Credits
Icons used by this extension are kindly taken from Font Awesome (user and users).