Skip to content

Commit

Permalink
[BUGFIX] Respect newContentElementWizard TSconfig in fluid based page…
Browse files Browse the repository at this point in the history
… module

The fluid based page module, introduced in v10 and the only
available variant since v11, does now correctly respect the
TSconfig options 'mod.web_layout.disableNewContentElementWizard'
and 'mod.newContentElementWizard.override' again.

Resolves: #92504
Releases: master, 10.4
Change-Id: I0a1f04e700ecaf131e735e05d6fc36c2bf313dc3
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/67303
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
  • Loading branch information
IndyIndyIndy authored and bmack committed Jan 5, 2021
1 parent 69ec786 commit d8bcc34
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 22 deletions.
40 changes: 30 additions & 10 deletions typo3/sysext/backend/Classes/View/BackendLayout/Grid/GridColumn.php
Expand Up @@ -160,17 +160,37 @@ public function getEditUrl(): ?string

public function getNewContentUrl(): string
{
$pageId = $this->context->getPageId();
$urlParameters = [
'id' => $pageId,
'sys_language_uid' => $this->context->getSiteLanguage()->getLanguageId(),
'colPos' => $this->getColumnNumber(),
'uid_pid' => $pageId,
'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
];
$routeName = BackendUtility::getPagesTSconfig($pageId)['mod.']['newContentElementWizard.']['override']
?? 'new_content_element_wizard';
$uriBuilder = GeneralUtility::makeInstance(UriBuilder::class);
$pageId = $this->context->getPageId();

if ($this->context->getDrawingConfiguration()->getShowNewContentWizard()) {
$urlParameters = [
'id' => $pageId,
'sys_language_uid' => $this->context->getSiteLanguage()->getLanguageId(),
'colPos' => $this->getColumnNumber(),
'uid_pid' => $pageId,
'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
];
$routeName = BackendUtility::getPagesTSconfig($pageId)['mod.']['newContentElementWizard.']['override']
?? 'new_content_element_wizard';
} else {
$urlParameters = [
'edit' => [
'tt_content' => [
$pageId => 'new'
]
],
'defVals' => [
'tt_content' => [
'colPos' => $this->getColumnNumber(),
'sys_language_uid' => $this->context->getSiteLanguage()->getLanguageId()
]
],
'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
];
$routeName = 'record_edit';
}

return (string)$uriBuilder->buildUriFromRoute($routeName, $urlParameters);
}

Expand Down
Expand Up @@ -262,17 +262,31 @@ public function getNewContentAfterTitle(): string

public function getNewContentAfterUrl(): string
{
$pageId = $this->context->getPageId();
$urlParameters = [
'id' => $pageId,
'sys_language_uid' => $this->context->getSiteLanguage()->getLanguageId(),
'colPos' => $this->column->getColumnNumber(),
'uid_pid' => -$this->record['uid'],
'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
];
$routeName = BackendUtility::getPagesTSconfig($pageId)['mod.']['newContentElementWizard.']['override']
?? 'new_content_element_wizard';
$uriBuilder = GeneralUtility::makeInstance(UriBuilder::class);
$pageId = $this->context->getPageId();

if ($this->context->getDrawingConfiguration()->getShowNewContentWizard()) {
$urlParameters = [
'id' => $pageId,
'sys_language_uid' => $this->context->getSiteLanguage()->getLanguageId(),
'colPos' => $this->column->getColumnNumber(),
'uid_pid' => -$this->record['uid'],
'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
];
$routeName = BackendUtility::getPagesTSconfig($pageId)['mod.']['newContentElementWizard.']['override']
?? 'new_content_element_wizard';
} else {
$urlParameters = [
'edit' => [
'tt_content' => [
-$this->record['uid'] => 'new'
]
],
'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
];
$routeName = 'record_edit';
}

return (string)$uriBuilder->buildUriFromRoute($routeName, $urlParameters);
}

Expand Down
Expand Up @@ -23,7 +23,7 @@
<div class="t3-page-ce t3js-page-ce" data-page="{column.context.pageId}" id="{column.uniqueId}">
<div class="t3js-page-new-ce t3-page-ce-wrapper-new-ce" id="colpos-{column.columnNumber}-page-{column.context.pageId}-{column.uniqueId}">
<a href="{column.newContentUrl}" title="{newContentTitle}" data-title="{newContentTitle}"
class="btn btn-default btn-sm t3js-toggle-new-content-element-wizard disabled">
class="btn btn-default btn-sm {f:if(condition:column.context.drawingConfiguration.showNewContentWizard, then: 't3js-toggle-new-content-element-wizard disabled')}">
<core:icon identifier="actions-add" />
{newContentTitleShort}
</a>
Expand Down
Expand Up @@ -17,7 +17,8 @@
</div>
<f:if condition="{allowEditContent} && {item.column.contentEditable} && {item.column.context.allowNewContent}">
<div class="t3js-page-new-ce t3-page-ce-wrapper-new-ce" id="colpos-{item.column.columnNumber}-page-{item.context.pageId}-{item.column.uniqueId}">
<a href="{item.newContentAfterUrl}" title="{item.newContentAfterLinkTitle}" data-title="{item.newContentAfterLinkTitle}" class="btn btn-default btn-sm t3js-toggle-new-content-element-wizard disabled">
<a href="{item.newContentAfterUrl}" title="{item.newContentAfterLinkTitle}" data-title="{item.newContentAfterLinkTitle}"
class="btn btn-default btn-sm {f:if(condition:item.column.context.drawingConfiguration.showNewContentWizard, then: 't3js-toggle-new-content-element-wizard disabled')}">
<core:icon identifier="actions-add" />
{item.newContentAfterTitle}
</a>
Expand Down

0 comments on commit d8bcc34

Please sign in to comment.