Drupal 9: How to make the /user/register form available in a twig template

Q: When comments in a (content type) Article are enabled, for an anonymous user Drupal 9.5 shows a text with links, "please regiter or login to post a comment". I would like the login form to be rendered there already, so that the user can login without leaving the article. For this, I would like to make the /user/register form available inside a twig template. How would I do that?

A: Install Twig Tweak (reference) and try this:

{{ drupal_form('Drupal\\user\\Form\\UserLoginForm') }}

The following code from mycode.blog may also be useful:

// themename.theme
<?php
/**
* Implements hook_preprocess_page().
*/
function themename_preprocess_page(&$variables) {
  $variables['render_core_login_form'] = FALSE;
  if (!\Drupal::currentUser()->id()) {
    $form = Drupal::formBuilder()->getForm(Drupal\user\Form\UserLoginForm::class); 
    $render = Drupal::service('renderer');
    $variables['render_core_login_form'] = $render->renderPlain($form);
  }
}

// page.html.twig
{{render_core_login_form}}

.

Please login or register to post a comment.