Skip to content

Commit c2e49c6

Browse files
Pimcore 11
1 parent 587015e commit c2e49c6

File tree

5 files changed

+23
-13
lines changed

5 files changed

+23
-13
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44
# webpack
55
vendor
66
.phpunit.*
7+
composer.lock

composer.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
}
1717
},
1818
"require": {
19-
"php": ">=8.0",
20-
"pimcore/pimcore": ">=10",
21-
"phpoffice/phpspreadsheet": "^1.28"
19+
"php": ">=8.1",
20+
"pimcore/pimcore": "^11.0",
21+
"phpoffice/phpspreadsheet": "^1.28",
22+
"pimcore/admin-ui-classic-bundle": "^1.0"
2223
},
2324
"require-dev": {
2425
"phpunit/phpunit": "^9.5"

src/EventSubscriber/ClassDefinitionSubscriber.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public static function getSubscribedEvents(): array
2626
];
2727
}
2828

29-
public function onClassDefinitionPostUpdate(ClassDefinitionEvent $event)
29+
public function onClassDefinitionPostUpdate(ClassDefinitionEvent $event): void
3030
{
3131
$classDefinition = $event->getClassDefinition();
3232

src/EventSubscriber/DataObjectSubscriber.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@
44

55
use Basilicom\AdvancedCustomLayoutBundle\Model\CustomLayoutConfig;
66
use Basilicom\AdvancedCustomLayoutBundle\Service\ConfigurationService;
7-
use Basilicom\AdvancedCustomLayoutBundle\Service\CustomLayoutService;
8-
use Pimcore\Bundle\AdminBundle\Security\User\User;
9-
use Pimcore\Event\AdminEvents;
7+
use Pimcore\Bundle\AdminBundle\Event\AdminEvents;
108
use Pimcore\Model\DataObject\ClassDefinition\CustomLayout;
119
use Pimcore\Model\DataObject\Concrete;
1210
use Pimcore\Model\DataObject\Service;
11+
use Pimcore\Security\User\User;
1312
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
1413
use Symfony\Component\EventDispatcher\GenericEvent;
1514
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;

src/Service/CustomLayoutService.php

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,7 @@ private function editLayout(?ClassDefinition $classDefinition, CustomLayoutConfi
9494
$fieldDefinitions = $classDefinition->getFieldDefinitions();
9595

9696
foreach ($layoutConfig->getFields() as $fieldConfig) {
97-
foreach ($fieldDefinitions as $fieldDefinition) {
98-
if ($fieldDefinition->getName() === $fieldConfig->getFieldId()) {
99-
$this->adaptFieldDefinition($fieldDefinition, $fieldConfig);
100-
continue 2;
101-
}
102-
}
97+
$this->handleFieldDefinitions($fieldDefinitions, $fieldConfig);
10398
}
10499

105100
foreach ($layoutConfig->getLayoutElements() as $layoutElementConfig) {
@@ -109,6 +104,20 @@ private function editLayout(?ClassDefinition $classDefinition, CustomLayoutConfi
109104
return $layoutDefinition;
110105
}
111106

107+
private function handleFieldDefinitions(array $fieldDefinitions, CustomLayoutConfig\FieldConfig $fieldConfig) {
108+
foreach ($fieldDefinitions as $fieldDefinition) {
109+
if($fieldDefinition instanceof Data\Localizedfields) {
110+
$this->handleFieldDefinitions($fieldDefinition->getFieldDefinitions(), $fieldConfig);
111+
continue;
112+
}
113+
114+
if ($fieldDefinition->getName() === $fieldConfig->getFieldId()) {
115+
$this->adaptFieldDefinition($fieldDefinition, $fieldConfig);
116+
}
117+
}
118+
}
119+
120+
112121
private function adaptLayoutDefinition(LayoutElementConfig $config, Layout $layoutDefinition): Layout
113122
{
114123
if ($layoutDefinition->getName() === $config->getElementId()) {

0 commit comments

Comments
 (0)