Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      0 / 0  | 
              | 
      100.00%  | 
      0 / 0  | 
      CRAP |         | 
      0.00%  | 
      0 / 23  | 
     |
| hook_options_list_alter |         | 
      0.00%  | 
      0 / 1  | 
      0 |         | 
      0.00%  | 
      0 / 4  | 
     |||
| callback_allowed_values_function |         | 
      0.00%  | 
      0 / 1  | 
      0 |         | 
      0.00%  | 
      0 / 19  | 
     |||
| <?php | |
| /** | |
| * @file | |
| * Hooks provided by the Options module. | |
| */ | |
| use Drupal\Core\Entity\FieldableEntityInterface; | |
| use Drupal\Core\Field\FieldStorageDefinitionInterface; | |
| /** | |
| * Alters the list of options to be displayed for a field. | |
| * | |
| * This hook can notably be used to change the label of the empty option. | |
| * | |
| * @param array $options | |
| * The array of options for the field, as returned by | |
| * \Drupal\Core\TypedData\OptionsProviderInterface::getSettableOptions(). An | |
| * empty option (_none) might have been added, depending on the field | |
| * properties. | |
| * | |
| * @param array $context | |
| * An associative array containing: | |
| * - field_definition: The field definition | |
| * (\Drupal\Core\Field\FieldDefinitionInterface). | |
| * - entity: The entity object the field is attached to | |
| * (\Drupal\Core\Entity\EntityInterface). | |
| * | |
| * @ingroup hooks | |
| * @see hook_options_list() | |
| */ | |
| function hook_options_list_alter(array &$options, array $context) { | |
| // Check if this is the field we want to change. | |
| if ($context['field']->id() == 'field_option') { | |
| // Change the label of the empty option. | |
| $options['_none'] = t('== Empty =='); | |
| } | |
| } | |
| /** | |
| * Provide the allowed values for a 'list_*' field. | |
| * | |
| * Callback for options_allowed_values(). | |
| * | |
| * 'list_*' fields can specify a callback to define the set of their allowed | |
| * values using the 'allowed_values_function' storage setting. | |
| * | |
| * That function will be called: | |
| * - either in the context of a specific entity, which is then provided as the | |
| * $entity parameter, | |
| * - or for the field generally without the context of any specific entity or | |
| * entity bundle (typically, Views needing a list of values for an exposed | |
| * filter), in which case the $entity parameter is NULL. | |
| * This lets the callback restrict the set of allowed values or adjust the | |
| * labels depending on some conditions on the containing entity. | |
| * | |
| * For consistency, the set of values returned when an $entity is provided | |
| * should be a subset of the values returned when no $entity is provided. | |
| * | |
| * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $definition | |
| * The field storage definition. | |
| * @param \Drupal\Core\Entity\FieldableEntityInterface|null $entity | |
| * (optional) The entity context if known, or NULL if the allowed values are | |
| * being collected without the context of a specific entity. | |
| * @param bool &$cacheable | |
| * (optional) If an $entity is provided, the $cacheable parameter should be | |
| * modified by reference and set to FALSE if the set of allowed values | |
| * returned was specifically adjusted for that entity and cannot not be reused | |
| * for other entities. Defaults to TRUE. | |
| * | |
| * @return array | |
| * The array of allowed values. Keys of the array are the raw stored values | |
| * (number or text), values of the array are the display labels. If $entity | |
| * is NULL, you should return the list of all the possible allowed values in | |
| * any context so that other code (e.g. Views filters) can support the allowed | |
| * values for all possible entities and bundles. | |
| * | |
| * @ingroup callbacks | |
| * @see options_allowed_values() | |
| * @see options_test_allowed_values_callback() | |
| * @see options_test_dynamic_values_callback() | |
| */ | |
| function callback_allowed_values_function(FieldStorageDefinitionInterface $definition, FieldableEntityInterface $entity = NULL, &$cacheable = TRUE) { | |
| if (isset($entity) && ($entity->bundle() == 'not_a_programmer')) { | |
| $values = array( | |
| 1 => 'One', | |
| 2 => 'Two', | |
| ); | |
| } | |
| else { | |
| $values = array( | |
| 'Group 1' => array( | |
| 0 => 'Zero', | |
| 1 => 'One', | |
| ), | |
| 'Group 2' => array( | |
| 2 => 'Two', | |
| ), | |
| ); | |
| } | |
| return $values; | |
| } |