>

Drupal 8.9가 있습니다. 사용자가 사이트에 액세스하면 사용자 계정 페이지로 리디렉션됩니다. 그것들을 홈페이지로 리디렉션하고 싶습니다.

내가 떠나면기본 프론트 페이지비워두면 사용자가 자신의 계정 페이지로 리디렉션되고 설정에 대한 설명에서는 사용자가 홈 페이지로 리디렉션된다고 표시됩니다.

이 분야에서는/마디홈페이지를 표시합니다.

이 작업을 수행하는 모듈이 있지만 추가 모듈 설치를 피하고 싶습니다. Drupal에서 원하는 것을 달성하기위한 구성이 있습니까?


  • 답변 # 1

    Drupal이 기본 프론트 페이지를 고려하는 것은/node가 아니라/user/login으로, 로그인 한 사용자를 자신의 계정 페이지로 리디렉션합니다. SiteInformationForm::validateForm() 다음 코드를 포함합니다.

     // Check for empty front page path.
      if ($form_state->isValueEmpty('site_frontpage')) {
        // Set to default "user/login".
        $form_state->setValueForElement($form['front_page']['site_frontpage'], '/user/login');
      }
    
    

    site_frontpage첫 페이지의 양식 요소입니다. SiteInformationForm::buildForm() 다음과 같이 설정됩니다.

     $front_page = $site_config->get('page.front') != '/user/login' ? $this->aliasManager->getAliasByPath($site_config->get('page.front')) : '';
      $form['front_page']['site_frontpage'] = [
        '#type' => 'textfield',
        '#title' => t('Default front page'),
        '#default_value' => $front_page,
        '#size' => 40,
        '#description' => t('Optionally, specify a relative URL to display as the front page. Leave blank to display the default front page.'),
        '#field_prefix' => $this->requestContext->getCompleteBaseUrl(),
      ];
    
    

    표준 설치 프로파일은 system.site.yml 파일에서 기본 프론트 페이지를/node로 설정합니다. 기본 프론트 페이지로 사용하지 마십시오. 해당 설치 프로파일에서기본 프론트 페이지환경.

    uuid: ''
    name: ''
    mail: ''
    slogan: ''
    page:
      403: ''
      404: ''
      front: /node
    admin_compact_mode: false
    weight_select_max: 100
    langcode: en
    default_langcode: en
    
    

관련 자료

  • 이전 drupal - 노드 작성자에게만 웹 양식을 제출할 수있는 권한
  • 다음 drupal - Azure SDK 설치 및 사용