Bug #82953

Epic #58282: Workspaces Workpackage #2

Story #58284: Bug fixes & Behaviour

Page Module throws errors after creating translation in a stage workspace

Added by Daniel Hinderink about 2 years ago. Updated 8 months ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Workspaces
Target version:
Start date:
2017-11-08
Due date:
% Done:

0%

TYPO3 Version:
8
PHP Version:
7.0
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

Steps to reproduce

1. Create a workspace.
2. Create a new translation of a page within a workspace.
3. Change to live workspace.
4. Try to access the page where the new translation has been added in the page module.

Result

Page can not be loaded in the page module. Responds with an error message.

Error Message:
"Uncaught TYPO3 Exception: Argument 2 passed to TYPO3\CMS\Core\Imaging\IconFactory::getIconForRecord() must be of the type array, boolean given"

Affected Versions
8.7.0-8.7.8.

Solution:
./sysext/backend/Classes/Controller/PageLayoutController.php
Line 388

$queryBuilder->expr()->gte(
must be
$queryBuilder->expr()->lte(

Please find a patch solving the problem attached.

typo3-8-7-8_2.patch View (1.14 KB) Daniel Hinderink, 2017-11-08 16:00


Related issues

Related to TYPO3 Core - Bug #81659: Workspace page translation fatal error in the backend Closed 2017-06-21
Related to TYPO3 Core - Bug #82535: Non published Translation in Workspace causes Exception in Live Workspace Closed 2017-09-21

History

#1 Updated by Gerrit Code Review about 2 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54885

#2 Updated by Gerrit Code Review almost 2 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54885

#3 Updated by Gerrit Code Review almost 2 years ago

Patch set 1 for branch TYPO3_8-7 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/55232

#4 Updated by Gerrit Code Review almost 2 years ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54885

#5 Updated by Riccardo De Contardi almost 2 years ago

  • Related to Bug #81659: Workspace page translation fatal error in the backend added

#6 Updated by Riccardo De Contardi almost 2 years ago

  • Category changed from Backend User Interface to Workspaces

#7 Updated by Riccardo De Contardi almost 2 years ago

  • Related to Bug #82535: Non published Translation in Workspace causes Exception in Live Workspace added

#8 Updated by Riccardo De Contardi almost 2 years ago

some info maybe also on #82535; I copy here part of the issue description:

Debugged a little and the problems seems to be that he tries to fetch the WorkspaceStaging Record within this query:

 $lpRecord = $queryBuilder->select('*')
     ->from('pages_language_overlay')
     ->where(
         $queryBuilder->expr()->eq(
             'pid',
             $queryBuilder->createNamedParameter($id, \PDO::PARAM_INT)
          ),
          $queryBuilder->expr()->eq(
              'sys_language_uid',
              $queryBuilder->createNamedParameter($lP, \PDO::PARAM_INT)
          )
     )
     ->setMaxResults(1)
     ->execute()
     ->fetch();
 

pid is set to the ID of the originial Page but he tries to fetch the page_language_overlay record from the workspace with the pid -1. So $lpRecord is not a $row but a boolea with the value "false" causing the error.

#9 Updated by Riccardo De Contardi almost 2 years ago

  • Parent task set to #58284

#10 Updated by Gerrit Code Review almost 2 years ago

Patch set 2 for branch TYPO3_8-7 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/55232

#11 Updated by Sno Ofer over 1 year ago

Any news on this? The problem still exists in the current release 8.7.16 :-(

#12 Updated by Susanne Moog 10 months ago

  • Status changed from Under Review to New

The patch has been abandoned.

#13 Updated by Stefan Müller 9 months ago

Problem still exists in 8.7.24. Error dissapears when translations are published to live but reoccurs when pages are translated in draft-ws.

#14 Updated by Benni Mack 8 months ago

  • Status changed from New to Needs Feedback

Hey all,

we could fix this conceptually - we migrated pages_language_overlay into pages in v9. Can you check if this solves your issue?

The change was a conceptual problem so an "easy" fix wasn't possible without side effects.

Thanks.
Benni.

#15 Updated by Riccardo De Contardi 8 months ago

I tried to reproduce the issue with the steps written on the issue description, following this procedure:

Prerequsites

- create a draft workspace with the home page as mount point;

Test execution

- create a page in LIVE; headline: "Test"
- switch to draft workspace
- create a translation in the draft workspace
- save
- click on the "Test" page
- switch to LIVE

Results

TYPO3 8.7.24 > the issue is still present

Oops, an error occurred!
Argument 2 passed to TYPO3\CMS\Core\Imaging\IconFactory::getIconForRecord() must be of the type array, boolean given, called in /Users/riccardo/TYPO3-dists/typo3_src-8.7.24/typo3/sysext/backend/Classes/View/PageLayoutView.php on line 900

TYPO3 9.5.5 and latest master > Not reproducible

#16 Updated by Benni Mack 8 months ago

  • Target version changed from next-patchlevel to Candidate for patchlevel

#17 Updated by Benni Mack 8 months ago

  • Status changed from Needs Feedback to Closed
  • Target version changed from Candidate for patchlevel to next-patchlevel

Fixed in v9

Also available in: Atom PDF