getForm(\Drupal\xxx\Form\xxxx); ``` //判斷是否登錄的函數(shù) ```php \Drupal::currentUser()->isAuthenticated(); ``` //獲取用戶信息 ```php $user = \Drupal\user\Entity\User....." />

drupal8插件開發(fā)用到的一些常用函數(shù)

php by 黃業(yè)興 at 2020-03-27

//引用表單

\Drupal::formBuilder()->getForm("\Drupal\xxx\Form\xxxx");

//判斷是否登錄的函數(shù)

\Drupal::currentUser()->isAuthenticated();

//獲取用戶信息

$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
$user->get('mail')->value;

//增加提示語的函數(shù)

\Drupal::messenger()->addWarning();

//跳轉(zhuǎn)函數(shù)

$this->redirect('','');

//輸出json

return new JsonResponse();

//模板傳遞的方法,先在.module的文件定義

function xxxx_theme($existing, $type, $theme, $path)
{
    return [
            'xxxxxx' => [
             'variables' => [],
             ],
             'xxxxxx' => [
             'variables' => [],
             ],
          ]
}

控制器Controller

return array(
   '#theme' => 'xxxxx',
)

表單一般由三部分組成

public function buildForm(array $form, FormStateInterface $form_state)
{
   //接收參數(shù)方法
   $pammer = $form_state->getValue("pammer");

   $form = array();
    $form['summary'] = array(
      '#type' => 'textfield',
      '#title' => 'Subject <span class="description">(Maximum 128 characters)</span>',
      '#required' => true,
      '#prefix' => '<div class="field-summary">',
      '#suffix' => '</div>',
      '#maxlength' => 128,
    );
  return $form; 
}

public function validateForm(array & $form, FormStateInterface $form_state)
{
  //提示語的寫法
  $form_state->setErrorByName('summary', $this->t('xxx'));
}

public function submitForm(array & $form, FormStateInterface $form_state)
{
  //跳轉(zhuǎn)的寫法
  $url = Url::fromRoute('xxx', ['id' =>'']);
  return $form_state->setRedirectUrl($url);
}

請關(guān)注我們微信公眾號:mw748219