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: 字符串
- 必需
- 菜单的名称。例如:
main
或footer
。
options
- 可选
params: JsonApiParams
: JSON:API 参数,例如filter
、fields
、include
或sort
。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",})