Drupal 8 で、HTML マークアップに URL リンクを含めて戻り値を返す方法

$entity->toLink(..)という便利なヘルパー関数があるらしい。最後は->toString()で文字列にして$this->t(...)に渡す。

public function foo(Request $request = NULL) {

  $id = $request->get('id');  // from query string
  $entity = YourEntity::load($id);

  $message = $this->t('Check at @url.', [
    '@url' => $entity->toLink('<TEXT_TO_LINK_HERE>', 'edit-form')->toString(),
  ]);

  return [
    '#type' => 'markup',
    '#markup' => $message, 
  ];
}

広告