updated core
This commit is contained in:
@@ -7,8 +7,8 @@ package: Core (Experimental)
|
||||
dependencies:
|
||||
- layout_discovery
|
||||
|
||||
# Information added by Drupal.org packaging script on 2017-11-03
|
||||
version: '8.4.2'
|
||||
# Information added by Drupal.org packaging script on 2018-01-03
|
||||
version: '8.4.4'
|
||||
core: '8.x'
|
||||
project: 'drupal'
|
||||
datestamp: 1509719929
|
||||
datestamp: 1515021228
|
||||
|
||||
@@ -67,12 +67,15 @@ class FieldLayoutBuilder implements ContainerInjectionInterface {
|
||||
$regions = array_fill_keys($layout_definition->getRegionNames(), []);
|
||||
|
||||
foreach ($fields as $name => $field) {
|
||||
// Move the field from the top-level of $build into a region-specific
|
||||
// section.
|
||||
// If the region is controlled by the layout, move the field from the
|
||||
// top-level of $build into a region-specific section. Custom regions
|
||||
// could be set by other code at run-time; these should be ignored.
|
||||
// @todo Ideally the array structure would remain unchanged, see
|
||||
// https://www.drupal.org/node/2846393.
|
||||
$regions[$field['region']][$name] = $build[$name];
|
||||
unset($build[$name]);
|
||||
if (isset($regions[$field['region']])) {
|
||||
$regions[$field['region']][$name] = $build[$name];
|
||||
unset($build[$name]);
|
||||
}
|
||||
}
|
||||
// Ensure this will not conflict with any existing array elements by
|
||||
// prefixing with an underscore.
|
||||
@@ -103,7 +106,7 @@ class FieldLayoutBuilder implements ContainerInjectionInterface {
|
||||
// avoids breaking hook_form_alter() implementations by not actually
|
||||
// moving the field in the form structure. If a #group is already set,
|
||||
// do not overwrite it.
|
||||
if (!isset($build[$name]['#group'])) {
|
||||
if (isset($regions[$field['region']]) && !isset($build[$name]['#group'])) {
|
||||
$build[$name]['#group'] = $field['region'];
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -7,8 +7,8 @@ package: Testing
|
||||
dependencies:
|
||||
- entity_test
|
||||
|
||||
# Information added by Drupal.org packaging script on 2017-11-03
|
||||
version: '8.4.2'
|
||||
# Information added by Drupal.org packaging script on 2018-01-03
|
||||
version: '8.4.4'
|
||||
core: '8.x'
|
||||
project: 'drupal'
|
||||
datestamp: 1509719929
|
||||
datestamp: 1515021228
|
||||
|
||||
@@ -93,6 +93,9 @@ class FieldLayoutBuilderTest extends UnitTestCase {
|
||||
'test1' => [
|
||||
'#markup' => 'Test1',
|
||||
],
|
||||
'test2' => [
|
||||
'#markup' => 'Test2',
|
||||
],
|
||||
'non_configurable_field' => [
|
||||
'#markup' => 'Non-configurable',
|
||||
],
|
||||
@@ -111,6 +114,9 @@ class FieldLayoutBuilderTest extends UnitTestCase {
|
||||
'test1' => [
|
||||
'region' => 'right',
|
||||
],
|
||||
'test2' => [
|
||||
'region' => 'unknown_region',
|
||||
],
|
||||
'non_configurable_field' => [
|
||||
'region' => 'left',
|
||||
],
|
||||
@@ -120,6 +126,9 @@ class FieldLayoutBuilderTest extends UnitTestCase {
|
||||
]);
|
||||
|
||||
$expected = [
|
||||
'test2' => [
|
||||
'#markup' => 'Test2',
|
||||
],
|
||||
'non_configurable_field' => [
|
||||
'#markup' => 'Non-configurable',
|
||||
],
|
||||
@@ -169,6 +178,9 @@ class FieldLayoutBuilderTest extends UnitTestCase {
|
||||
'#markup' => 'Test2',
|
||||
'#group' => 'existing_group',
|
||||
],
|
||||
'test3' => [
|
||||
'#markup' => 'Test3',
|
||||
],
|
||||
'field_layout' => [
|
||||
'#markup' => 'Field created through the UI happens to be named "Layout"',
|
||||
],
|
||||
@@ -190,6 +202,9 @@ class FieldLayoutBuilderTest extends UnitTestCase {
|
||||
'test2' => [
|
||||
'region' => 'left',
|
||||
],
|
||||
'test3' => [
|
||||
'region' => 'unknown_region',
|
||||
],
|
||||
'field_layout' => [
|
||||
'region' => 'right',
|
||||
],
|
||||
@@ -207,6 +222,9 @@ class FieldLayoutBuilderTest extends UnitTestCase {
|
||||
'#markup' => 'Test2',
|
||||
'#group' => 'existing_group',
|
||||
],
|
||||
'test3' => [
|
||||
'#markup' => 'Test3',
|
||||
],
|
||||
'field_layout' => [
|
||||
'#markup' => 'Field created through the UI happens to be named "Layout"',
|
||||
'#group' => 'right',
|
||||
|
||||
Reference in New Issue
Block a user