diff --git a/src/services/Elements.php b/src/services/Elements.php index 0054bdc839f..036a408dea5 100644 --- a/src/services/Elements.php +++ b/src/services/Elements.php @@ -4692,13 +4692,14 @@ private function _getRefTokenReplacement(?ElementInterface $element, ?string $at return $fallback; } - if (empty($attribute) || !isset($element->$attribute)) { + $generatedFields = $element->getGeneratedFieldValues(); + if (empty($attribute) || (!isset($element->$attribute)) && !isset($generatedFields[$attribute])) { // Default to the URL return (string)$element->getUrl(); } try { - $value = $element->$attribute; + $value = $element->$attribute ?? $generatedFields[$attribute]; if (is_object($value) && !method_exists($value, '__toString')) { throw new Exception('Object of class ' . get_class($value) . ' could not be converted to string');