--- /dev/null
+<?php
+
+namespace Drupal\{{ machine_name }}\Plugin\views\field;
+
+use Drupal\Core\Form\FormStateInterface;
+use Drupal\views\Plugin\views\field\FieldPluginBase;
+use Drupal\views\ResultRow;
+
+/**
+ * Provides {{ plugin_label }} field handler.
+ *
+ * @ViewsField("{{ plugin_id }}")
+ */
+class {{ class }} extends FieldPluginBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function defineOptions() {
+ $options = parent::defineOptions();
+ $options['prefix'] = ['default' => ''];
+ $options['suffix'] = ['default' => ''];
+ return $options;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
+ parent::buildOptionsForm($form, $form_state);
+
+ $form['prefix'] = [
+ '#type' => 'textfield',
+ '#title' => $this->t('Prefix'),
+ '#default_value' => $this->options['prefix'],
+ ];
+
+ $form['suffix'] = [
+ '#type' => 'textfield',
+ '#title' => $this->t('Suffix'),
+ '#default_value' => $this->options['suffix'],
+ ];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function render(ResultRow $values) {
+ return $this->options['prefix'] . parent::render($values) . $this->options['suffix'];
+ }
+
+}