improvements-2.x-dev/tests/modules/improvements_test/improvements_test.module
tests/modules/improvements_test/improvements_test.module
<?php
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\improvements\Plugin\Field\ComputedMapFieldItemList;
/**
* Implements hook_entity_base_field_info().
*/
function improvements_test_entity_base_field_info(EntityTypeInterface $entity_type): ?array {
if ($entity_type->id() == 'node') {
$fields = [];
$fields['test_map_field'] = BaseFieldDefinition::create('map')
->setLabel('Test map field');
$fields['test_computed_map_field_single'] = BaseFieldDefinition::create('string')
->setLabel('Test computed map field single')
->setComputed(TRUE)
->setClass(ComputedMapFieldItemList::class)
->setSettings([
'source_field_name' => 'test_map_field',
'array_path' => 'second.foo',
]);
$fields['test_computed_map_field_multiple'] = BaseFieldDefinition::create('string')
->setLabel('Test computed map field multiple')
->setComputed(TRUE)
->setClass(ComputedMapFieldItemList::class)
->setSettings([
'source_field_name' => 'test_map_field',
'array_path' => [
0 => 'second.foo',
1 => 'second.bar',
],
'value_template' => '@0-@1',
]);
$fields['test_third_party_data'] = BaseFieldDefinition::create('third_party_data')
->setLabel('Test third party data');
return $fields;
}
return NULL;
}
/**
* Implements hook_page_ROUTE_NAME_result_alter().
*/
function improvements_test_page_improvements_test_altered_page_result_result_alter(array &$page): void {
$page['#markup'] = 'Altered result';
}
