use Symfony\Component\Yaml\Parser; use Symfony\Component\Yaml\Dumper; use Drupal\views\ViewExecutable; $files = file_scan_directory('core/modules', '@views\.view\..*\.yml$@'); $parser = new Parser(); $dumper = new Dumper(); $dumper->setIndentation(2); foreach ($files as $file) { $uri = $file->uri; $content = file_get_contents($uri); $data = $parser->parse($content); if (isset($data['display'])) { foreach ($data['display'] as $display_id => &$display) { foreach (ViewExecutable::viewsHandlerTypes() as $type => $info) { $handler_type = isset($info['type']) ? $info['type'] : $type; if (isset($display['display_options'][$info['plural']])) { foreach ($display['display_options'][$info['plural']] as &$field) { $table_data = views_fetch_data($field['table']); if ($plugin_id = $table_data[$field['field']][$handler_type]['id']) { } elseif ($field['table'] == 'views_test_data') { $plugin_id = 'views_test_data'; } $definition = drupal_container()->get("plugin.manager.views.$handler_type")->getDefinition($plugin_id); $field['module'] = $definition['module']; } } } } $output = $dumper->dump($data, PHP_INT_MAX); file_put_contents($uri, $output); $output = trim($output); } }