Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
services
t3o sites
typo3.org
typo3.org
Commits
10df4bf4
Commit
10df4bf4
authored
Oct 15, 2020
by
Jonas Götze
Browse files
[FEATURE] Enable multiple Authors for news
parent
3ac8a0d7
Pipeline
#9776
failed with stages
in 2 minutes and 2 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
extensions/t3org_layout/Classes/Domain/Model/News.php
View file @
10df4bf4
...
...
@@ -52,12 +52,12 @@ class News extends \GeorgRinger\News\Domain\Model\News
}
/**
* @return \TYPO3\CMS\Extbase\Domain\Model\FrontendUser
|null
* @return \TYPO3\CMS\Extbase\Domain\Model\FrontendUser
[]
*/
public
function
getAuthorFeUser
()
{
if
(
!
$this
->
authorFeUser
)
{
return
null
;
return
[]
;
}
$objectManager
=
\
TYPO3\CMS\Core\Utility\GeneralUtility
::
makeInstance
(
\
TYPO3\CMS\Extbase\Object\ObjectManager
::
class
);
...
...
@@ -66,8 +66,15 @@ class News extends \GeorgRinger\News\Domain\Model\News
$userRepository
=
$objectManager
->
get
(
\
TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
::
class
);
$userRepository
->
setDefaultQuerySettings
(
$querySettings
);
$authorFeUsers
=
[];
foreach
(
explode
(
','
,
$this
->
authorFeUser
)
as
$username
)
{
$user
=
$userRepository
->
findOneByUsername
(
$username
);
if
(
$user
!==
null
)
{
$authorFeUsers
[]
=
$user
;
}
}
return
$
userRepository
->
findOneByUsername
(
$this
->
authorFeUser
)
;
return
$authorFeUser
s
;
}
/**
...
...
extensions/t3org_layout/Configuration/TCA/Overrides/tx_news_domain_model_news.php
View file @
10df4bf4
...
...
@@ -6,7 +6,7 @@ $GLOBALS['TCA']['tx_news_domain_model_news']['columns']['author_fe_user'] = [
'config'
=>
[
'type'
=>
'select'
,
'minitems'
=>
0
,
'maxitems'
=>
1
,
'maxitems'
=>
99
,
'renderType'
=>
'selectMultipleSideBySide'
,
'enableMultiSelectFilterTextfield'
=>
true
,
'itemsProcFunc'
=>
\
T3o\T3orgLayout\TCA\TcaProcFunc
::
class
.
'->feUserItems'
,
...
...
extensions/t3org_layout/Configuration/TypoScript/Ext/News.typoscript
View file @
10df4bf4
...
...
@@ -4,6 +4,7 @@ plugin.tx_news {
templateRootPaths {
0 = EXT:news/Resources/Private/Templates/
1 = EXT:t3olayout/Resources/Private/Templates/News/
2 = EXT:t3org_layout/Resources/Private/Templates/News/
}
partialRootPaths >
...
...
extensions/t3org_layout/Resources/Private/Templates/News/News/Detail.html
View file @
10df4bf4
...
...
@@ -125,10 +125,27 @@
</f:if>
</span>
</f:for>
<f:if
condition=
"{newsItem.authorFeUser
}
"
>
<f:if
condition=
"{newsItem.authorFeUser
-> f:count()} > 0
"
>
<f:then>
<span
class=
"news-list__item-author d-block small"
><f:translate
key=
"author"
arguments=
"{0:dd.authorFeUser.name}"
/>
{newsItem.authorFeUser.name}
</span>
<f:format.raw><t3o:gravatar
emailAddress=
"{newsItem.authorFeUser.email}"
size=
"40"
class=
"gravatar"
/></f:format.raw>
<span
class=
"news-list__item-author d-block small"
>
<f:translate
key=
"author"
arguments=
"{0:dd.authorFeUser.name}"
/>
<f:for
each=
"{newsItem.authorFeUser}"
as=
"authorFeUser"
iteration=
"authorFeUserIterator"
>
<f:if
condition=
"{authorFeUserIterator.isFirst} === false"
>
<f:if
condition=
"{authorFeUserIterator.isLast} === true"
>
<f:then>
and
</f:then>
<f:else>
,
</f:else>
</f:if>
</f:if>
{authorFeUser.name}
<f:if
condition=
"{authorFeUser.email}"
>
<f:format.raw><t3o:gravatar
emailAddress=
"{authorFeUser.email}"
size=
"40"
class=
"gravatar"
/></f:format.raw>
</f:if>
</f:for>
</span>
</f:then>
<f:else>
<f:if
condition=
"{newsItem.author}"
>
...
...
extensions/t3org_layout/ext_tables.sql
View file @
10df4bf4
...
...
@@ -9,7 +9,7 @@ CREATE TABLE tx_sfeventmgt_domain_model_event (
#
Table
structure
for
table
'tx_news_domain_model_news'
#
CREATE
TABLE
tx_news_domain_model_news
(
author_fe_user
varchar
(
3
0
)
DEFAULT
''
NOT
NULL
,
author_fe_user
varchar
(
10
0
)
DEFAULT
''
NOT
NULL
,
default_image
varchar
(
30
)
DEFAULT
''
NOT
NULL
,
contributors
int
DEFAULT
0
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment