farm-2.x-dev/modules/asset/land/farm_land.module
modules/asset/land/farm_land.module
<?php
/**
* @file
* Land asset module.
*/
use Drupal\Core\Entity\ContentEntityInterface;
use Drupal\Core\Field\FieldStorageDefinitionInterface;
/**
* Land type options helper.
*
* @return array
* Returns an array of land types for use in form select options.
*/
function farm_land_type_options() {
/** @var \Drupal\farm_land\Entity\FarmLandTypeInterface[] $types */
$types = \Drupal::entityTypeManager()->getStorage('land_type')->loadMultiple();
$options = [];
foreach ($types as $id => $type) {
$options[$id] = $type->getLabel();
}
return $options;
}
/**
* Allowed values callback function for the land type field.
*
* @param \Drupal\Core\Field\FieldStorageDefinitionInterface $definition
* The field definition.
* @param \Drupal\Core\Entity\ContentEntityInterface|null $entity
* The entity being created if applicable.
* @param bool $cacheable
* Boolean indicating if the allowed values can be cached. Defaults to TRUE.
*
* @return array
* Returns an array of allowed values for use in form select options.
*/
function farm_land_type_field_allowed_values(FieldStorageDefinitionInterface $definition, ContentEntityInterface $entity = NULL, bool &$cacheable = TRUE) {
return farm_land_type_options();
}
