drupal 10怎样输出page内容?

要输出 Drupal 10 中的页面内容,您可以使用以下代码:
 
<?php
 
// 获取当前页面的节点 ID。
$nid = \Drupal::routeMatch()->getParameter('node')->id();
 
// 使用节点 ID 获取页面实体对象。
$node = \Drupal\node\Entity\Node::load($nid);
 
// 检查实体对象是否存在并且是一个页面类型。
if ($node && $node->getType() == 'page') {
 
  // 获取页面的标题。
  $title = $node->getTitle();
 
  // 获取页面的正文。
  $body = $node->get('body')->value;
 
  // 输出页面标题和正文。
  echo '<h1>' . $title . '</h1>';
  echo $body;
 
}
 
?>
这将获取当前页面的节点 ID,使用该 ID 获取页面实体对象,检查实体对象是否存在并且是一个页面类型,然后输出页面标题和正文。请注意,您需要将此代码嵌入到页面模板文件中,以便它在页面加载时运行。
如果您想要输出页面中的其它字段(例如标签、作者、日期等),您可以使用以下代码:
 
<?php
 
// 获取当前页面的节点 ID。
$nid = \Drupal::routeMatch()->getParameter('node')->id();
 
// 使用节点 ID 获取页面实体对象。
$node = \Drupal\node\Entity\Node::load($nid);
 
// 检查实体对象是否存在并且是一个页面类型。
if ($node && $node->getType() == 'page') {
 
  // 获取页面的标题。
  $title = $node->getTitle();
 
  // 获取页面的正文。
  $body = $node->get('body')->value;
 
  // 获取页面的标签。
  $tags = $node->get('field_tags')->referencedEntities();
  $tag_names = array();
  foreach ($tags as $tag) {
    $tag_names[] = $tag->getName();
  }
  $tag_output = implode(', ', $tag_names);
 
  // 获取页面的作者。
  $author = $node->getOwner()->getDisplayName();
 
  // 获取页面的日期。
  $date = $node->getCreatedTime();
 
  // 输出页面标题、正文、标签、作者和日期。
  echo '<h1>' . $title . '</h1>';
  echo '<p><strong>Tags:</strong> ' . $tag_output . '</p>';
  echo '<p><strong>Author:</strong> ' . $author . '</p>';
  echo '<p><strong>Date:</strong> ' . date('F j, Y', $date) . '</p>';
  echo $body;
 
}
 
?>
这将获取当前页面的节点 ID,使用该 ID 获取页面实体对象,检查实体对象是否存在并且是一个页面类型,然后获取页面的标题、正文、标签、作者和日期,并输出它们。请注意,这里假设您已经为页面创建了一个名为 field_tags 的分类词汇,并将它与页面实体类型相关联。如果您希望输出其它字段,请将它们的机器名称替换为 field_tags 并根据需要更改输出格式。