getResourceCollectionFromContext
从 getStaticProps 或 getServerSideProps 上下文中获取资源集合。
const resource = await drupal.getResourceCollectionFromContext<T = JsonApiResource[]>( type, context, options?: { params, withAuth, deserialize, locale, defaultLocale, }): Promise<T>
类型: 字符串
- 必填
- 资源类型。例如:
node--article
或user--user
。
上下文: GetStaticPropsContext | GetServerSidePropsContext
- 必填
- 来自
getStaticProps
或getServerSideProps
的上下文。
选项
- 可选
params: JsonApiParams
: JSON:API 参数,例如filter
,fields
,include
或sort
。withAuth: 布尔值 | DrupalClientAuth
:- 设置要使用的身份验证方法。请参阅身份验证文档。
- 设置为
true
以使用客户端上配置的身份验证方法。
deserialize: boolean
:设置为 false 以返回原始 JSON:API 响应。locale: string
:获取资源的语言环境。defaultLocale: string
:站点的默认语言环境。
备注
- 本地化资源将根据
locale
和defaultLocale
从context
中的值获取。
示例
- 从上下文获取所有文章。
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 文档。