在使用节点中的图像的标准 Drupal 8 安装中,通过 GraphQL 获取图像相当容易。这里有很好的例子: https ://github.com/gatsbyjs/gatsby/tree/master/examples/using-drupal
使用 Acquia Lightning 安装配置文件(或者如果您只是使用我期望的媒体模块)媒体添加图像的方式不同,在 GraphiQL 中我看到关系中的媒体字段,其中唯一的子字段是 __typename
{
allNodeBlog {
edges {
node {
relationships {
field_media {
__typename
}
}
}
}
}
}
我还可以查看 allMediaImage (或类似的),其中我可以访问图像本身。我也可以在“关系”中包含所有节点信息,但我当然需要节点数据作为主要信息。我真的不明白将查询与节点联系在一起的最佳方式。
{
allMediaImage {
edges {
node {
relationships {
image {
localFile {
childImageSharp {
fluid {
...
}
}
}
}
node__blog {
id
}
}
}
}
}
}
我希望我可以以不同的方式创建 JSON,以便更轻松地访问图像。否则,首先获取节点 ID,然后使用它来选择适当的媒体。有任何想法吗