getMenu

从 Drupal 获取菜单。


⚠️

您需要安装 JSON:API 菜单项 模块才能使用 getMenu

const resource = await drupal.getResource<T = DrupalMenuLinkContent>(
name,
options?: {
params,
withAuth,
deserialize,
locale,
defaultLocale,
withCache
}
): Promise<{
items: T[]
tree: T[]
}>
  • name: 字符串
    • 必需
    • 菜单的名称。例如:mainfooter
  • options
    • 可选
    • params: JsonApiParams: JSON:API 参数,例如 filterfieldsincludesort
    • withAuth: boolean | DrupalClientAuth:
      • 设置要使用的身份验证方法。请参阅 身份验证文档
      • 设置为 true 以使用在客户端上配置的身份验证方法。
    • deserialize: boolean: 设置为 false 以返回原始 JSON:API 响应。
    • locale: string: 获取资源的语言环境。
    • defaultLocale: string: 站点的默认语言环境。
    • withCache: boolean: 如果要存储和检索菜单缓存,请设置 withCache
    • cacheKey: string: 要使用的缓存键。

备注

  • getMenu 返回
    • items: 一个 DrupalMenuLinkContent 数组。
    • tree: 一个 DrupalMenuLinkContent 数组,其子元素嵌套以匹配 Drupal 中的层次结构。

示例

  • 获取 main 菜单。
const { menu, items } = await drupal.getMenu("main")
  • 使用缓存获取 main 菜单。
const menu = await drupal.getMenu("main", {
withCache: true,
cacheKey: "menu--main",
})