diff --git a/typo3/sysext/backend/Classes/Controller/NewRecordController.php b/typo3/sysext/backend/Classes/Controller/NewRecordController.php index 1e1b23f4bb4e..7a90e40a2cb4 100644 --- a/typo3/sysext/backend/Classes/Controller/NewRecordController.php +++ b/typo3/sysext/backend/Classes/Controller/NewRecordController.php @@ -416,17 +416,7 @@ protected function renderNewRecordControls(): void } break; case 'tt_content': - if (!$this->newContentInto || !$this->isRecordCreationAllowedForTable($table) || !$this->isTableAllowedOnPage($table, $this->pageinfo)) { - break; - } - $groupedLinksOnTop['tt_content'] = [ - 'title' => $lang->getLL('createNewContent'), - 'icon' => 'actions-document-new', - 'items' => [ - $this->renderLink(htmlspecialchars($lang->sL($v['ctrl']['title'])), $table, $this->id), - $this->renderNewContentElementWizardLink(), - ], - ]; + // Skip, as inserting content elements is part of the page module break; default: if (!$this->newContentInto || !$this->isRecordCreationAllowedForTable($table) || !$this->isTableAllowedOnPage($table, $this->pageinfo)) { @@ -570,22 +560,6 @@ protected function renderPageSelectPositionLink(): string '; } - /** - * Generate link to the new content element wizard - */ - protected function renderNewContentElementWizardLink(): string - { - $url = (string)$this->uriBuilder->buildUriFromRoute('new_content_element_wizard', ['id' => $this->id, 'returnUrl' => $this->returnUrl]); - $title = $this->getLanguageService()->getLL('newContentElement'); - return ' - - - '; - } - /** * Returns TRUE if the tablename $checkTable is allowed to be created on the page with record $pid_row * diff --git a/typo3/sysext/core/Documentation/Changelog/12.2/Important-99660-RemoveContentSectionFromNewRecordController.rst b/typo3/sysext/core/Documentation/Changelog/12.2/Important-99660-RemoveContentSectionFromNewRecordController.rst new file mode 100644 index 000000000000..643b949ce31a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/12.2/Important-99660-RemoveContentSectionFromNewRecordController.rst @@ -0,0 +1,25 @@ +.. include:: /Includes.rst.txt + +.. _important-99660-1674251294: + +============================================================== +Important: #99660 - Remove content area from new record wizard +============================================================== + +See :issue:`99660` + +Description +=========== + +The TYPO3 Backend comes with a distinction between "Content elements" and +other records: While content is managed using the specialized "Page" module, +the "List" module is the main management interface for other types of records. + +Managing content elements from within the "List" module is not a good choice +for editors, the "Page" module should be used. + +To foster this separation, the "Create new record" view reachable from within +the "List" module no longer allows to add "Content elements". As a side effect, +this avoids wrong or invalid default values of the "Column" (colPos) field. + +.. index:: Backend, ext:backend diff --git a/typo3/sysext/core/Resources/Private/Language/locallang_misc.xlf b/typo3/sysext/core/Resources/Private/Language/locallang_misc.xlf index 97db8eee22fb..98f529752ca6 100644 --- a/typo3/sysext/core/Resources/Private/Language/locallang_misc.xlf +++ b/typo3/sysext/core/Resources/Private/Language/locallang_misc.xlf @@ -195,12 +195,6 @@ Create a new page - - Create a new content element - - - Click here for wizard! - Insert the new page here diff --git a/typo3/sysext/core/Tests/Acceptance/Application/Recycler/RecyclerModuleCest.php b/typo3/sysext/core/Tests/Acceptance/Application/Recycler/RecyclerModuleCest.php index 1609aabda252..264745ff4e5d 100644 --- a/typo3/sysext/core/Tests/Acceptance/Application/Recycler/RecyclerModuleCest.php +++ b/typo3/sysext/core/Tests/Acceptance/Application/Recycler/RecyclerModuleCest.php @@ -30,7 +30,7 @@ class RecyclerModuleCest protected static string $treeNode = '#typo3-pagetree-tree .nodes .node'; protected static string $dragNode = '#typo3-pagetree-toolbar .svg-toolbar__drag-node'; protected static string $nodeEditInput = '.node-edit'; - protected static string $contentTitle = 'Dummy Recycler Content'; + protected static string $sysNoteSubject = 'Dummy Recycler Content'; protected static string $pageTitle = 'Dummy 1-styleguide TCA demo-new'; public function _before(ApplicationTester $I, PageTree $pageTree, ModalDialog $modalDialog): void @@ -53,8 +53,8 @@ public function _before(ApplicationTester $I, PageTree $pageTree, ModalDialog $m $I->switchToContentFrame(); $I->waitForElement('[title="Create new record"]'); $I->click('a[title="Create new record"]'); - $I->click('//a[text()[normalize-space(.) = "Page Content"]]'); - $I->fillField('//input[contains(@data-formengine-input-name, "data[tt_content]") and contains(@data-formengine-input-name, "[header]")]', static::$contentTitle); + $I->click('//a[text()[normalize-space(.) = "Internal note"]]'); + $I->fillField('//input[contains(@data-formengine-input-name, "data[sys_note]") and contains(@data-formengine-input-name, "[subject]")]', static::$sysNoteSubject); $I->click('button[name="_savedok"]'); $I->click('a[title="Close"]'); } @@ -70,9 +70,9 @@ public function deleteAndRecoverRecords(ApplicationTester $I): void // Select depth infinite $I->selectOption('select[name="depth"]', 999); - $I->amGoingTo('See if the deleted page its content appear in the recycler'); + $I->amGoingTo('See if the deleted page and its content appear in the recycler'); $I->waitForText(static::$pageTitle); - $I->waitForText(static::$contentTitle); + $I->waitForText(static::$sysNoteSubject); $I->amGoingTo('Recover the page and its contents'); $I->click('tr[data-recordtitle="' . static::$pageTitle . '"] .t3js-multi-record-selection-check'); @@ -87,7 +87,7 @@ public function deleteAndRecoverRecords(ApplicationTester $I): void $newPage = $this->pageTree->getPageXPathByPageName(static::$pageTitle); $I->click($newPage); $I->switchToContentFrame(); - $I->waitForText(static::$contentTitle, 10, 'a[aria-label="Edit record"]'); + $I->waitForText(static::$sysNoteSubject, 10, 'a[aria-label="Edit record"]'); } /** @@ -124,7 +124,7 @@ protected function deleteAndWipeRecords(ApplicationTester $I): void $I->switchToContentFrame(); $I->click('[data-action="reload"]'); - $I->cantSee(static::$contentTitle); + $I->cantSee(static::$sysNoteSubject); $I->cantSee(static::$pageTitle); }