diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 8b4d06ba21ea998135a59ab991fa725334e05544..2a12d806ae66d33119de2f3af73327b1a1e2d983 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,8 @@ Drupal 7.36, xxxx-xx-xx (development version) ----------------------- +- Fixed missing language code in hook_field_attach_view_alter() when it is + invoked from field_view_field(). - Stopped sending ETag and Last-Modified headers for uncached page requests, since they break caching for certain Varnish and Nginx configurations. - Changed the Simpletest module to allow PSR-4 test classes to be used in diff --git a/modules/field/field.module b/modules/field/field.module index a593e5111e9102faf6fd46f2433b3ffb8a50b0b0..e4039786eef7b2e3df0a487af3092245bebf391a 100644 --- a/modules/field/field.module +++ b/modules/field/field.module @@ -894,6 +894,7 @@ function field_view_field($entity_type, $entity, $field_name, $display = array() 'entity' => $entity, 'view_mode' => '_custom', 'display' => $display, + 'language' => $langcode, ); drupal_alter('field_attach_view', $result, $context); diff --git a/modules/field/tests/field.test b/modules/field/tests/field.test index b279d6a8f4978031e74c3f0b2c82bb2ecde4ef5a..adf2413ba7b4935cd74bd63f657e533d866d64fb 100644 --- a/modules/field/tests/field.test +++ b/modules/field/tests/field.test @@ -2206,11 +2206,12 @@ class FieldDisplayAPITestCase extends FieldTestCase { 'alter' => TRUE, ), ); - $output = field_view_field('test_entity', $this->entity, $this->field_name, $display); + $output = field_view_field('test_entity', $this->entity, $this->field_name, $display, LANGUAGE_NONE); $this->drupalSetContent(drupal_render($output)); $setting = $display['settings']['test_formatter_setting_multiple']; $this->assertNoText($this->label, 'Label was not displayed.'); $this->assertText('field_test_field_attach_view_alter', 'Alter fired, display passed.'); + $this->assertText('field language is ' . LANGUAGE_NONE, 'Language is placed onto the context.'); $array = array(); foreach ($this->values as $delta => $value) { $array[] = $delta . ':' . $value['value']; diff --git a/modules/field/tests/field_test.module b/modules/field/tests/field_test.module index 9daa2c305c9bbfc746bd4fbb38cf0f48307478b5..7e9bba0d8bf2bb26efb48c8b9ff17a83fc51d616 100644 --- a/modules/field/tests/field_test.module +++ b/modules/field/tests/field_test.module @@ -220,6 +220,10 @@ function field_test_field_attach_view_alter(&$output, $context) { if (!empty($context['display']['settings']['alter'])) { $output['test_field'][] = array('#markup' => 'field_test_field_attach_view_alter'); } + + if (isset($output['test_field'])) { + $output['test_field'][] = array('#markup' => 'field language is ' . $context['language']); + } } /**