How to make a redirection on Drupal 8 (like drupal_goto() on Drupal 7)?
Example 1. Redirect to the front page:
return new \Symfony\Component\HttpFoundation\RedirectResponse(\Drupal::url('<front>'));
Example 2. Redirect to a route path (user page):
return new \Symfony\Component\HttpFoundation\RedirectResponse(\Drupal::url('user.page'));
Example 3. To a internal path
return new \Symfony\Component\HttpFoundation\RedirectResponse('/node/17/edit');
OR
return new \Symfony\Component\HttpFoundation\RedirectResponse(\Drupal\Core\Url::fromUserInput('/node/17/edit')->toString());
Example 4. Redirect to Access Denied (403) or Not Found (404) page.
403:
throw new \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException();
404:
throw new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException();
Redirect to external domain
throw new \Drupal\Core\Routing\TrustedRedirectResponse('https://example.com');
See also : Create a link with Drupal 8 like l() and url() on D7
Comments8
Redirect to internal page
How to redirect to internal pages, like node/17/edit.
You can simply do like this:…
You can simply do like this:
return new \Symfony\Component\HttpFoundation\RedirectResponse('/node/17/edit');
NOTE : Don't foget '/node/17/edit' NOT 'node/17/edit'
How do I get my form values into content type
After submitting form am redirecting into content type. How do I get my form values into my content type filed(using POST,Session variable). How do I get my form values into content type(node/add/add-form)add-form is my content type.
Use form alter
You can process your custom change using HOOK_form_alter
Example :
function mymodule_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if($form_id == 'YOUR_NODE_FORM_ID') {
kint($form['field_name']['widget']); // show the value and field values
$form['field_name']['widget'][0]['value']['#default_value'] = 'My new value'; // for textfield.
}
}
Redirect form hook_node_presave
Hi,
I want to redirect the page when node submission is greater than 1 , i have used hook_node_presave in drupal 8
But could not understand how to redirect without saving node.
I'm very new. Just one…
I'm very new. Just one question, Where and what files I have to put these codes ?
Create a new modul
Hi,
You must create a new module like this. Then use it in the YOURMODUL.module or in a controler
How to redirect user to page before access denied after login
User wanted to view a page but got access denied. User logged in and back to access denied page again. How to redirect user to the first page he/she want to view? Thanks.