function ResourceTypeBuildEventSubscriber::disableResourceTypeFields
Same name in other branches
- 9 core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/src/EventSubscriber/ResourceTypeBuildEventSubscriber.php \Drupal\jsonapi_test_resource_type_building\EventSubscriber\ResourceTypeBuildEventSubscriber::disableResourceTypeFields()
- 8.9.x core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/src/EventSubscriber/ResourceTypeBuildEventSubscriber.php \Drupal\jsonapi_test_resource_type_building\EventSubscriber\ResourceTypeBuildEventSubscriber::disableResourceTypeFields()
- 11.x core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/src/EventSubscriber/ResourceTypeBuildEventSubscriber.php \Drupal\jsonapi_test_resource_type_building\EventSubscriber\ResourceTypeBuildEventSubscriber::disableResourceTypeFields()
Disables any resource type fields that have been aliased by a test.
Parameters
\Drupal\jsonapi\ResourceType\ResourceTypeBuildEvent $event: The build event.
File
-
core/
modules/ jsonapi/ tests/ modules/ jsonapi_test_resource_type_building/ src/ EventSubscriber/ ResourceTypeBuildEventSubscriber.php, line 67
Class
- ResourceTypeBuildEventSubscriber
- Event subscriber which tests disabling resource types.
Namespace
Drupal\jsonapi_test_resource_type_building\EventSubscriberCode
public function disableResourceTypeFields(ResourceTypeBuildEvent $event) {
$aliases = \Drupal::state()->get('jsonapi_test_resource_type_builder.disabled_resource_type_fields', []);
$resource_type_name = $event->getResourceTypeName();
if (in_array($resource_type_name, array_keys($aliases), TRUE)) {
foreach ($event->getFields() as $field) {
if (isset($aliases[$resource_type_name][$field->getInternalName()]) && $aliases[$resource_type_name][$field->getInternalName()] === TRUE) {
$event->disableField($field);
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.