You are here

protected function ProductForm::actions in Commerce Core 8.2

Returns an array of supported actions for the current entity form.

This function generates a list of Form API elements which represent actions supported by the current entity form.

@todo Consider introducing a 'preview' action here, since it is used by many entity types.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array An array of supported Form API action elements keyed by name.

Overrides EntityForm::actions

File

modules/product/src/Form/ProductForm.php, line 210

Class

ProductForm
Defines the product add/edit form.

Namespace

Drupal\commerce_product\Form

Code

protected function actions(array $form, FormStateInterface $form_state) {
  $actions = parent::actions($form, $form_state);
  if ($this->entity
    ->isNew()) {
    $product_type_storage = $this->entityTypeManager
      ->getStorage('commerce_product_type');

    /** @var \Drupal\commerce_product\Entity\ProductTypeInterface $product_type */
    $product_type = $product_type_storage
      ->load($this->entity
      ->bundle());
    $actions['submit_continue'] = [
      '#type' => 'submit',
      '#value' => $this
        ->t('Save and add variations'),
      '#button_type' => 'secondary',
      '#continue' => TRUE,
      '#submit' => [
        '::submitForm',
        '::save',
      ],
      '#access' => $product_type
        ->allowsMultipleVariations(),
    ];
  }
  return $actions;
}