Điểm:1

Lỗi khi cố gắng xem các bản sửa đổi

lá cờ do

Sử dụng Drupal 8/9. Khi cố gắng xem các phiên bản trước, tôi gặp phải lỗi sau:

Lỗi: Gọi hàm thành viên getType() trên chuỗi trong clc_d8_theme_theme_suggestions_page_alter() (dòng 13 của /var/www/html/wrc/web/themes/clc_d8_theme/clc_d8_theme.theme)

Nó đề cập đến mã này:

function clc_d8_theme_theme_suggestions_page_alter(mảng &$suggestions, mảng $variables) {
  // Thêm gợi ý kiểu nội dung.
  if ($node = \Drupal::request()->attributes->get('node')) {
    array_splice($suggestions, 1, 0, 'page__node__' . $node->getType()); <- lỗi ở dòng này
  }
}

Tôi cần các đề xuất loại cho chủ đề của mình. Làm thế nào để tôi khắc phục điều này? Tôi nghĩ việc kiểm tra nút là đủ để tránh các sự cố.

Điểm:3
lá cờ ve

"nút $" có thể thay đổi một chút theo ngữ cảnh, nhưng đây là một số cách để thiết lập nút $:

$routeName = \Drupal::routeMatch()->getRouteName();

nút $ = NULL;

// $variables['node'].
if (isset($variables['node'])) {
  $node = $variables['node'];
  if (is_numeric($variables['node'])) {
    $node = \Drupal::entityTypeManager()->getStorage('node')->load($variables['node']);
  }
}

// $variables['row'].
if (isset($variables['row']) && !empty($variables['row']->nid)) {
  $node = \Drupal::entityTypeManager()->getStorage('node')->load($variables['row']->nid);
}

// $routeName === 'entity.node.canonical'.
if ($routeName === 'entity.node.canonical') {
  $node = \Drupal::routeMatch()->getParameter('node');
}

// $routeName === 'entity.node.revision'.
if ($routeName === 'entity.node.revision') {
  $revisionId = \Drupal::routeMatch()->getParameter('node_revision');
  $node = node_revision_load($revisionId);
}

// $routeName === 'entity.node.preview'.
if ($routeName === 'entity.node.preview') {
  $node = \Drupal::routeMatch()->getParameter('node_preview');
}

nếu ($nút) {
  // chạy mã của bạn...
}

Cụ thể, có vẻ như bạn đang theo đuổi:

// Lấy tên tuyến đường.
$routeName = \Drupal::routeMatch()->getRouteName();

// Kiểm tra xem tuyến đường có phải là bản sửa đổi nút không.
if ($routeName === 'entity.node.revision') {
  $revisionId = \Drupal::routeMatch()->getParameter('node_revision');
  $node = node_revision_load($revisionId);
}

Điều này sẽ tải đầy đủ đối tượng nút của bạn và ->getType() nên hoạt động mà không có lỗi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.