| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | 
							- <?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:
 
-  *   - fieldDefinition: 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['fieldDefinition']->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 = [
 
-       1 => 'One',
 
-       2 => 'Two',
 
-     ];
 
-   }
 
-   else {
 
-     $values = [
 
-       'Group 1' => [
 
-         0 => 'Zero',
 
-         1 => 'One',
 
-       ],
 
-       'Group 2' => [
 
-         2 => 'Two',
 
-       ],
 
-     ];
 
-   }
 
-   return $values;
 
- }
 
 
  |