Details
-
Bug
-
Resolution: Fixed
-
High
-
5.1, 5.2, 5.3-dev
-
None
-
eZ Publish 5.1, eZ Flow 5.1, eZ Demo 5.1
Description
Steps to reproduce on a clean, fully patched eZ Publish 5.1 installation and ezdemo package:
1. Create new content class;
Name: 11902_Layout
Identifier: 11902_layout
Attributes:
- Type: Text line
- Required: yes
- Name: Title
- Identifier: title
- Type: Layout
- Name: Layout
- Identifier: layout
- Translation: enabled
2. On zone.ini.append.php, add the following entry to at least one existing zone:
AvailableForClasses[]=11902_layout
...and clear cache;
3. Create 2 new articles. Language is not relevant for this issue, just used main language, eng-GB;
4. Create new object for newly created class, in main language (in this case, eng-GB);
5. Fill in the "Title (required)" field;
6. Select a zone and add a block to it (used "Content Grid");
7. Add the two previously created articles to the block, and publish;
8. Translate object (used ger-DE) based on existing eng-GB translation;
9. Edit new class and set "layout" attribute as non-translatable;
10. Edit object on the main language (eng-GB) and change block details. In this case, just swapped the order of the existing articles. Publish;
11. Edit object on second language. The block is gone. On frontend, the following Symfony error is displayed:
Property 'id' not found on class 'eZ\Publish\Core\FieldType\Page\Parts\Item' 500 Internal Server Error - PropertyNotFoundException
On the log:
... 30. CRITICAL - Uncaught PHP Exception eZ\Publish\API\Repository\Exceptions\PropertyNotFoundException: "Property 'id' not found on class 'eZ\Publish\Core\FieldType\Page\Parts\Item'" at /var/www/51ezdemo.com/vendor/ezsystems/ezpublish-kernel/eZ/Publish/API/Repository/Values/ValueObject.php line 87