标签: contentful

如何从Android中的Contentful中的空格中检索条目

刚刚开始使用这项服务,文档有点令人困惑.我创建了一个Space使用照片库模板.在这个空间中,我有类型图像,作者和照片库的条目.我的问题是,如何检索图像以便在我的Android应用程序中显示?

为了与之交互Contentful Delivery API,我知道我必须使用一个CDAClient对象和CDAEntry对象来尝试获取.

我已经在onCreate()我的Fragment类的方法中定义了这个,如下所示:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mContext = getActivity();

    client = CDAClient.builder()
            .setSpace("id-of-the-space-am-accessing")
            .setToken("the-access-token")
            .build();

    entry = client.fetch(CDAEntry.class).one("the id of the image I want to retrieve");
}
Run Code Online (Sandbox Code Playgroud)

onCreateView()方法中,我试图像这样查看结果:

Log.e(TAG, "Result: " + entry.toString());
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我在Logcat中得到了这个:

E/NEWS ACTIVITY? Result: CDAEntry{id='2YhtjbebgscIwO2keYEa4O'}
Run Code Online (Sandbox Code Playgroud)

此id匹配我传递给的图像的id client.fetch(CDAEntry.class).one()

显然我正在获取图像,但我该如何显示它?

android contentful

1
推荐指数
1
解决办法
1473
查看次数

如何获取contentful中的access_token?

我不知道如何获取内容丰富的访问令牌。我尝试了很多搜索、复制/粘贴各种“解决方案”,但没有一个对我有用。请帮助我解决这个问题。

contentful contentful-management

1
推荐指数
1
解决办法
4194
查看次数

如何在Contentful查询中检索链接的字段

我正在使用Contentful并且拥有一个使用一系列相关字段的内容模型.我使用JS api在NodeJS中查询我的内容.如果我打电话获取条目,就像这样

contentfulClient.getEntries({
    content_type: 'homePage'
})
Run Code Online (Sandbox Code Playgroud)

它获取homePage类型的所有内容,并包括每个相关字段的实际字段数据,如此

"subField": {
        "sys": {
            "space": {
                "sys": {
                    "type": "Link",
                    "linkType": "Space",
                    "id": "#######"
                }
            },
            "id": "#######",
            "type": "Entry",
            "createdAt": "2017-03-10T15:58:25.697Z",
            "updatedAt": "2017-03-10T15:58:25.697Z",
            "revision": 1,
            "contentType": {
                "sys": {
                    "type": "Link",
                    "linkType": "ContentType",
                    "id": "homeSubField"
                }
            },
            "locale": "en-GB"
        },
        "fields": {
            "category": {
                "sys": {
                    "type": "Link",
                    "linkType": "Entry",
                    "id": "#######"
                }
            },
            "subFieldContent": "Some field content"
        }
    },
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用ID调用特定条目,例如

contentfulClient.getEntry('1234567890')
Run Code Online (Sandbox Code Playgroud)

然后,每个链接的字段仅作为具有ID的引用返回,如

"subField": {
            "sys": {
                "type": "Link",
                "linkType": "Entry",
                "id": …
Run Code Online (Sandbox Code Playgroud)

javascript node.js contentful

1
推荐指数
1
解决办法
830
查看次数

GraphQL查询错误,提示未知类型“ ContentfulSizes”

当我尝试将我的gatsby项目与自己创建的Contentful空间链接时,它始终显示此问题

但是,当我尝试将我的gatsby链接到我用其模板或示例创建的内容空间时,它运行良好

但是对于自己创建的空间,它将显示此错误。

有什么办法吗?


错误#85901 GRAPHQL

您的GraphQL查询中存在错误:

未知类型“ ContentfulSizes”。您是说“ ContentfulSecondTry”,“ ContentfulContentType”还是“ ContentfulSecondTryEdge”?

文件:node_modules \ gatsby-source-contentful \ src \ fragments.js:4:46

javascript contentful graphql gatsby

1
推荐指数
1
解决办法
880
查看次数

如何使用 Contentful 的 rich-text-react-renderer 格式化带有 <pre> 标签的代码片段?

我正在使用 Contenful 作为我的 Gatsby 网站的 CMS。在其富文本反应渲染器的配置中,我尝试将富文本字段中的所有代码包装在标签中,<pre>以便维护所有格式并添加我自己的样式。

这是我尝试过的:

const Blog = (props) => {
  const Code = ({children}) => <pre><code style={{backgroundColor: "red"}}>{children}</code></pre>
  const options = {
   renderMark: {
      [MARKS.CODE]: code => <Code>{code}</Code>},
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我选择“普通文本”时,Contentful 会将每一行代码片段包装在段落标签内,这不是有效的 HTML(<pre>标签不能是<p>标签的直接后代),并且会弄乱我的所有格式。

有谁知道如何覆盖该行为或解决方法,以呈现来自 Contentful in Gatsby 的格式正确的代码片段?

contentful gatsby

1
推荐指数
1
解决办法
2237
查看次数

使用Contentful Space,属性值必须是常量错误

我收到错误消息:

属性值必须是常量

为我的Space类定义Space注释时:

在此输入图像描述

我看过Java中的问题为什么这个错误:'属性值必须是常数'?这是最接近我的问题,但它没有帮助.

我使用的是最新的Vault库:

compile 'com.contentful.vault:core:2.1.0'
Run Code Online (Sandbox Code Playgroud)

以前的版本不需要Locale属性.我该如何解决这个问题?

java contentful

0
推荐指数
1
解决办法
477
查看次数

内容丰富的API:上传并将图像分配给条目

我一直在使用Contentful Management Javascript SDK更新Contentful空间中的条目,并且能够使用文本更新简单字段没有问题.

我的问题是我无法弄清楚如何在我的条目中更新图像 ; 我可以将图像上传到媒体部分,但我无法任何图像分配给入口属性.

这是可能的还是Contentful的限制?

到目前为止,这是我的代码:

client.getSpace(CONTENTFUL_SPACE).then((space) => {
// retrieve my Contentful space

    space.getEntry(CONTENTFUL_ENTRY).then(function (entry) {
    // get a specific entry

        // create a new asset in my Contentful media section
        space.createAssetWithId(RANDOM_ID, {
            fields: {
                file: {
                    'en-GB': { 
                        contentType: 'image/jpeg',
                        fileName: 'test.jpg',
                        upload: 'http://www.example.com/test.jpg'
                    }
                }
            }
        })
        .then(asset => asset.processForAllLocales())
        .then(asset => asset.publish())
        .then(function(asset) {

            // assign uploaded image as an entry field
            // (none of these work:)
            entry.fields["image"]["en-GB"] …
Run Code Online (Sandbox Code Playgroud)

contentful contentful-management

0
推荐指数
1
解决办法
753
查看次数

如何从 Swift 中的 Contentful 访问图像?

这是我获取条目的方式:

func fetchAllEntriesByLocation(latitude:Double, longitude: Double, completion: @escaping (([Item]) ->Void)) {
    var items:[Item] = []

    let query = Query(where: "content_type", .equals("item")).where("fields.location", .isNear(Location(latitude: latitude, longitude: longitude)))
    client.fetchEntries(with: query) { [weak self] result in
        guard let strongSelf = self else { return }
        DispatchQueue.main.async {
            strongSelf.delegate?.finishedTask()
        }
        switch result {
        case .success(let entries):
            entries.items.forEach { entry in
                items.append(Item(entry: entry))
            }
            DispatchQueue.main.async {
                completion(items)
            }
        case .error(let error):
            print(error)
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

以及我如何映射它们

final class Item: EntryModellable {

static let contentTypeId: String = "item" …
Run Code Online (Sandbox Code Playgroud)

ios swift contentful

0
推荐指数
1
解决办法
698
查看次数

如何使用 Gatsby 和 Contentful 的富文本字段获取嵌入块中的参考字段

我有一个富文本编辑器字段,它接受一个嵌入块,其中内容类型包含指向另一种内容类型的引用链接。

像这样:

content (rich text field)
  - group (embedded block)
    - group-items (reference field)
      - item 1 (referenced content)
      - item 2 (referenced content)
Run Code Online (Sandbox Code Playgroud)

我怎样才能referenced content使用物品@contentful/rich-text-react-renderer

我目前有这个:

import { MARKS, BLOCKS } from '@contentful/rich-text-types';
import { documentToReactComponents } from '@contentful/rich-text-react-renderer';

const options = {
  renderNode: {
    [BLOCKS.EMBEDDED_ENTRY]: (node) => {
      console.log(node);
      return true;
    }
  },
  renderText: text => text.replace('!', '?'),
};
Run Code Online (Sandbox Code Playgroud)

这给了我一堆id,但不是我真正想要的条目的字段数据。

content: []
data:
target: {sys: {…}}
__proto__: Object
nodeType: "embedded-entry-block"

content: []
data:
target: …
Run Code Online (Sandbox Code Playgroud)

reactjs contentful gatsby

0
推荐指数
1
解决办法
771
查看次数

类型错误:无法读取 null 的属性“流体”

我正在尝试将内容数据中的图像获取到盖茨比网站。我可以检索文本内容。

我浏览了gatsby-image插件文档。看起来不错。

const getBlogList = graphql`
{
  blogs: allContentfulBlog {
    edges {
      node {
        id
        title
        image {
          fluid(maxWidth:250) {
            ...GatsbyContentfulFluid_tracedSVG
          }        
        }
      }
    }
  }
}
`;

<StaticQuery 
      query={getBlogList} 
      render={ data => {
      return({data.blogs.edges.map(({node})=>{
      return(<div><Img fluid={node.image.fluid} /></div>)
          }) 
        }
       )
      }} />
Run Code Online (Sandbox Code Playgroud)

我找不到我哪里出错了。我收到一个错误

类型错误:无法读取 null 的属性“流体”。

javascript contentful gatsby

0
推荐指数
1
解决办法
3181
查看次数

内容内容在 GraphQL 查询中显示两次

我正在学习 gatsby 和 contentful 来构建一个网站,但是当我从 Contentful 查询数据时,它会显示相同的内容两次,如下所示。可能是什么原因?

在此输入图像描述

content-management-system contentful graphql gatsby contentful-api

0
推荐指数
1
解决办法
356
查看次数

如何在react hooks页面中的数据显示中添加代码片段的代码块

我正在contentful我的 React Hooks 网站中显示博客内容。现在博客的完整描述已收到post.description。我想将code snippets, json datapost.description 中收到的内容显示为code block。还想将标题行添加到 h1 或 h2 标签。我们如何从描述字段中识别代码块?现在它只显示页面中的文本(请参阅添加的屏幕截图)

import React from "react";
import { Link, useParams } from "react-router-dom";
import MD from "react-markdown";
import { useSinglePost } from "../custom-hooks";
import Moment from 'moment';



export default function SinglePost() {
  const { id } = useParams();
  const [post, isLoading] = useSinglePost(id);

  const renderPost = () => {
    if (isLoading) return ( <div> <p className="noSearchData">Loading...</p> </div>);

    return (
      <React.Fragment>
        <div …
Run Code Online (Sandbox Code Playgroud)

javascript contentful react-hooks

0
推荐指数
1
解决办法
3422
查看次数

如何使用 contentful-management 在一次 api 调用中将资产添加到条目中?

我想添加一个资产和一个条目。我正在使用表单输入一些数据并上传图像,所有这些都在一个 API 调用中完成。我使用 cloudinary 来存储图像,但 Contentful-Management 给了我 409 状态代码和“版本不匹配”错误。

这些是我在下面采取的步骤(如果您看到我忽略的步骤,请添加任何步骤,非常感谢)

#1. Get space by space id
#2. Get environment
#3. Create Entry
#4. Create a new asset
#5. Assign uploaded image as an entry field
Run Code Online (Sandbox Code Playgroud)

data ”是我发布帖子所需的所有数据,uploadHref 是来自 Cloudinary 的单个图像的链接。

#1. Get space by space id
#2. Get environment
#3. Create Entry
#4. Create a new asset
#5. Assign uploaded image as an entry field
Run Code Online (Sandbox Code Playgroud)

contentful contentful-management next.js contentful-api headless-cms

0
推荐指数
1
解决办法
2981
查看次数