public function PaymentReference::fieldSettingsForm in Payment 8.2
Returns a form for the field-level settings.
Invoked from \Drupal\field_ui\Form\FieldConfigEditForm to allow administrators to configure field-level settings.
Parameters
array $form: The form where the settings form is being included in.
\Drupal\Core\Form\FormStateInterface $form_state: The form state of the (entire) configuration form.
Return value
array The form definition for the field settings.
Overrides EntityReferenceItem::fieldSettingsForm
File
- modules/
payment_reference/ src/ Plugin/ Field/ FieldType/ PaymentReference.php, line 75
Class
- PaymentReference
- Provides a configurable payment reference field.
Namespace
Drupal\payment_reference\Plugin\Field\FieldTypeCode
public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
/** @var \Drupal\currency\FormHelperInterface $form_helper */
$form_helper = \Drupal::service('currency.form_helper');
$element['#element_validate'] = [
get_class() . '::fieldSettingsFormValidate',
];
$element['currency_code'] = [
'#empty_value' => '',
'#type' => 'select',
'#title' => $this
->t('Payment currency'),
'#options' => $form_helper
->getCurrencyOptions(),
'#default_value' => $this
->getSetting('currency_code'),
'#required' => TRUE,
];
$line_items = [];
foreach ($this
->getSetting('line_items_data') as $line_item_data) {
$line_items[] = Payment::lineItemManager()
->createInstance($line_item_data['plugin_id'], $line_item_data['plugin_configuration']);
}
$element['line_items'] = [
'#type' => 'payment_line_items_input',
'#title' => $this
->t('Line items'),
'#default_value' => $line_items,
'#required' => TRUE,
'#currency_code' => '',
];
return $element;
}