You are here

public function MetatagDisplayExtender::submitOptionsForm in Metatag 8

Handle any special handling on the validate form.

Overrides DisplayExtenderPluginBase::submitOptionsForm

File

metatag_views/src/Plugin/views/display_extender/MetatagDisplayExtender.php, line 95

Class

MetatagDisplayExtender
Metatag display extender plugin.

Namespace

Drupal\metatag_views\Plugin\views\display_extender

Code

public function submitOptionsForm(&$form, FormStateInterface $form_state) {
  if ($form_state
    ->get('section') == 'metatags') {

    // Process submitted metatag values and remove empty tags.
    $tag_values = [];
    $metatags = $form_state
      ->cleanValues()
      ->getValues();
    $this->options['tokenize'] = $metatags['tokenize'] ?? FALSE;
    unset($metatags['tokenize']);
    foreach ($metatags as $tag_id => $tag_value) {

      // Some plugins need to process form input before storing it.
      // Hence, we set it and then get it.
      $tag = $this->metatagTagManager
        ->createInstance($tag_id);
      $tag
        ->setValue($tag_value);
      if (!empty($tag
        ->value())) {
        $tag_values[$tag_id] = $tag
          ->value();
      }
    }
    $this->options['metatags'] = $tag_values;
  }
}