public static ConfirmFormHelper::buildCancelLink(ConfirmFormInterface $form, Request $request)
Builds the cancel link for a confirmation form.
Parameters
\Drupal\Core\Form\ConfirmFormInterface $form: The confirmation form.
\Symfony\Component\HttpFoundation\Request $request: The current request.
Return value
array The link render array for the cancel form.
File
- core/lib/Drupal/Core/Form/ConfirmFormHelper.php, line 25
Class
- ConfirmFormHelper
- Provides common functionality to confirmation forms.
Namespace
Drupal\Core\Form
Code
public static function buildCancelLink(ConfirmFormInterface $form, Request $request) { // Prepare cancel link. $query = $request->query; $url = NULL; // If a destination is specified, that serves as the cancel link. if ($query->has('destination')) { $options = UrlHelper::parse($query->get('destination')); // @todo Revisit this in https://www.drupal.org/node/2418219. try { $url = Url::fromUserInput('/' . ltrim($options['path'], '/'), $options); } catch (\InvalidArgumentException $e) { // Suppress the exception and fall back to the form's cancel url. } } // Check for a route-based cancel link. if (!$url) { $url = $form->getCancelUrl(); } return [ '#type' => 'link', '#title' => $form->getCancelText(), '#attributes' => ['class' => ['button']], '#url' => $url, '#cache' => [ 'contexts' => [ 'url.query_args:destination', ], ], ]; }
Please login to continue.