Skip to content
Snippets Groups Projects

Issue #3406816: Functionality for creating global JSON-LD definitions, e.g. for an organization

Merged Issue #3406816: Functionality for creating global JSON-LD definitions, e.g. for an organization
6 files
+ 45
38
Compare changes
  • Side-by-side
  • Inline
Files
6
@@ -29,21 +29,20 @@ function schemadotorg_address_schemadotorg_property_field_alter(
return;
}
$config = \Drupal::config('schemadotorg_address.settings');
/** @var \Drupal\schemadotorg\SchemaDotOrgSchemaTypeManagerInterface $schema_type_manager */
$schema_type_manager = \Drupal::service('schemadotorg.schema_type_manager');
$field_overrides = [];
$breadcrumbs = $schema_type_manager->getTypeBreadcrumbs($schema_type);
foreach ($breadcrumbs as $breadcrumb) {
$breadcrumb_types = array_reverse($breadcrumb);
foreach ($breadcrumb_types as $breadcrumb_type) {
$field_overrides += $config->get("field_overrides.$breadcrumb_type--$schema_property") ?? [];
}
}
$config = \Drupal::config('schemadotorg_address.settings');
$field_overrides += $config->get("field_overrides.$schema_property") ?? [];
$field_overrides = [];
$field_overrides += $schema_type_manager->getSetting(
$config->get('field_overrides'),
['schema_type' => $schema_type, 'schema_property' => $schema_property]
) ?? [];
$field_overrides += $schema_type_manager->getSetting(
$config->get('field_overrides'),
['schema_property' => $schema_property]
) ?? [];
$field_values['settings']['field_overrides'] = [];
foreach ($field_overrides as $property => $override) {
Loading