From 98fa5a3a05fee59283395c7760dc48b77dd0c654 Mon Sep 17 00:00:00 2001 From: brandonkelly Date: Thu, 5 Dec 2024 16:26:45 -0800 Subject: [PATCH] Better element labels --- CHANGELOG-WIP.md | 1 + src/services/Elements.php | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG-WIP.md b/CHANGELOG-WIP.md index 431ccf90c3e..4cb0a36aa08 100644 --- a/CHANGELOG-WIP.md +++ b/CHANGELOG-WIP.md @@ -23,6 +23,7 @@ - Section condition rules now have a “has a value” operator. ([#16270](https://github.com/craftcms/cms/discussions/16270)) - The Queue Manager utility now shows jobs’ class names. ([#16228](https://github.com/craftcms/cms/pull/16228)) - Improved the wording of field instance action labels. ([#16261](https://github.com/craftcms/cms/discussions/16261)) +- Improved the error output for nested elements when they can’t be resaved via `resave` commands. ### Development - Added support for fallback element partial templates, e.g. `_partials/entry.twig` as opposed to `_partials/entry/typeHandle.twig`. ([#16125](https://github.com/craftcms/cms/pull/16125)) diff --git a/src/services/Elements.php b/src/services/Elements.php index 84b8fa1217e..85dfe9f27c9 100644 --- a/src/services/Elements.php +++ b/src/services/Elements.php @@ -1583,12 +1583,14 @@ public function resaveElements( // Make sure this isn't a revision if ($skipRevisions) { + $label = $element->getUiLabel(); + $label = $label !== '' ? "$label ($element->id)" : sprintf('%s %s', $element::lowerDisplayName(), $element->id); try { if (ElementHelper::isRevision($element)) { - throw new InvalidElementException($element, "Skipped resaving {$element->getUiLabel()} ($element->id) because it's a revision."); + throw new InvalidElementException($element, "Skipped resaving $label because it's a revision."); } } catch (Throwable $rootException) { - throw new InvalidElementException($element, "Skipped resaving {$element->getUiLabel()} ($element->id) due to an error obtaining its root element: " . $rootException->getMessage()); + throw new InvalidElementException($element, "Skipped resaving $label due to an error obtaining its root element: " . $rootException->getMessage()); } } } catch (InvalidElementException $e) {