BUGFIX: Re-declare $items to be an ArrayList if it's null

getBackLink() modified to tolerate empty ArrayList
This commit is contained in:
Tom Yrjas 2020-06-29 16:07:24 +03:00
parent 824b5e0b67
commit 00ee8d8abf

View File

@ -464,10 +464,12 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler
if ($toplevelController->hasMethod('Backlink')) {
$backlink = $toplevelController->Backlink();
} elseif ($this->popupController->hasMethod('Breadcrumbs')) {
$parents = $this->popupController->Breadcrumbs(false)->items;
$parents = $this->popupController->Breadcrumbs(false);
if ($parents && $parents = $parents->items) {
$backlink = array_pop($parents)->Link;
}
}
}
if (!$backlink) {
$backlink = $toplevelController->Link();
}
@ -786,7 +788,10 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler
/** @var ArrayList $items */
$items = $this->popupController->Breadcrumbs($unlinked);
if ($items) {
if (!$items) {
$items = new ArrayList();
}
if ($this->record && $this->record->ID) {
$title = ($this->record->Title) ? $this->record->Title : "#{$this->record->ID}";
$items->push(new ArrayData([
@ -799,7 +804,6 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler
'Link' => false
]));
}
}
$this->extend('updateBreadcrumbs', $items);
return $items;