📜  drupal 8 从节点实体获取 url - Javascript (1)

📅  最后修改于: 2023-12-03 15:30:34.220000             🧑  作者: Mango

从 Drupal 8 的节点实体中获取 URL

简介

在 Drupal 8 中,节点是网站内容的重要组成部分。每个节点都有一个唯一的 URL,用户可以通过这个 URL 来访问节点内容。在开发 Drupal 8 主题时,有时需要从节点实体中获取节点 URL,以方便用户进行浏览。

本文将介绍如何使用 JavaScript 从节点实体中获取 URL。

代码实现

要从节点实体中获取 URL,需要使用 Drupal 8 中提供的 JavaScript API。下面是代码实现的示例:

// 获取节点 ID
var nodeId = Drupal.settings.path.currentPath.split('/').pop();

// 通过节点 ID 获取实体对象
var entity = Drupal.entity.load('node', nodeId);

// 获取节点 URL
var url = Drupal.url('node/' + entity.nid);

上述代码首先从当前 URL 中获取当前节点的 ID,然后使用 Drupal.entity.load() 方法从实体对象中加载节点实体。最后,通过 Drupal.url() 方法从实体对象中获取节点的 URL。

注意事项

在使用上述代码时,需要注意以下几点:

  • 该代码应该在 Drupal 主题的 JavaScript 文件中实现。
  • 如果您在主题中使用 jQuery,那么可以将上述代码包装在 jQuery(document).ready() 中以确保 DOM 树加载完毕后再执行。
  • 如果您想在节点内容中使用该代码,请确保节点页面已经包含了相应的 JavaScript 文件。
  • 如果节点使用的是自定义模板,请务必在模板文件中加载相应的 JavaScript 文件。
结论

通过本文的介绍,您已经学会了如何使用 JavaScript 从 Drupal 8 的节点实体中获取 URL。在开发 Drupal 8 主题时,您可以使用该方法来获取节点 URL,以实现更加灵活的节点浏览方式。