acquia_commercemanager-8.x-1.122/modules/acm/src/Element/AcmTitleSelect.php
modules/acm/src/Element/AcmTitleSelect.php
<?php namespace Drupal\acm\Element; use Drupal\Core\Render\Element\Select; /** * Provides an ACM Title select form element. * * @FormElement("acm_title_select") */ class AcmTitleSelect extends Select { /** * {@inheritdoc} */ public function getInfo() { $class = get_class($this); $info = parent::getInfo(); // Added first so options are available before other process callbacks. array_unshift($info['#process'], [$class, 'processAcmTitleSelect']); return $info; } /** * Adds in an option list of applicable titles. * * @param array $element * An associative array containing the properties of the element. * Properties used: #title, #value, #options, #description, #required, * #attributes, #id, #name, #type, #min, #max, #step, #value, #size. The * #name property will be sanitized before output. This is currently done by * initializing Drupal\Core\Template\Attribute with all the attributes. * * @return array * The $element with prepared variables. */ public static function processAcmTitleSelect(array $element) { $element['#options'] = [ 'Mr' => t('Mr'), 'Mrs' => t('Mrs'), 'Ms' => t('Ms'), 'Miss' => t('Miss'), 'Dr' => t('Dr'), 'Prof.' => t('Prof.'), 'Brigadier' => t('Brigadier'), 'Reverend' => t('Reverend'), ]; return $element; } }