getResourceCollectionFromContext

从 getStaticProps 或 getServerSideProps 上下文中获取资源集合。


const resource = await drupal.getResourceCollectionFromContext<T = JsonApiResource[]>(
type,
context,
options?: {
params,
withAuth,
deserialize,
locale,
defaultLocale,
}
): Promise<T>
  • 类型: 字符串
    • 必填
    • 资源类型。例如: node--articleuser--user
  • 上下文: GetStaticPropsContext | GetServerSidePropsContext
    • 必填
    • 来自 getStaticPropsgetServerSideProps 的上下文。
  • 选项
    • 可选
    • params: JsonApiParams: JSON:API 参数,例如 filter, fields, includesort
    • withAuth: 布尔值 | DrupalClientAuth

      :
      • 设置要使用的身份验证方法。请参阅身份验证文档
      • 设置为true 以使用客户端上配置的身份验证方法。
    • deserialize: boolean:设置为 false 以返回原始 JSON:API 响应。
    • locale: string:获取资源的语言环境。
    • defaultLocale: string:站点的默认语言环境。

备注

  • 本地化资源将根据localedefaultLocalecontext 中的值获取。

示例

  • 从上下文获取所有文章。

pages/[[...slug]].tsx

export async function getStaticProps(context) {
const articles = await drupal.getResourceCollectionFromContext(
"node--article",
context
)
return {
props: {
articles,
},
}
}

TypeScript

  • 对于节点实体类型,使用DrupalNode
import { DrupalNode } from "next-drupal"
const nodes = await drupal.getResourceCollectionFromContext<DrupalNode[]>(
"node--article",
context
)

有关更多内置类型,请参阅TypeScript 文档