标签: headless-cms

你如何在 Nuxt JS (SSR) 中使用无头 CMS 的路由?

问题

我正在尝试使用 CMS 定义的路由来获取内容,这些内容用于确定在我们的 Nuxt 前端加载哪个页面。那么,您如何实现自己的逻辑来将路由连接到内容,将内容连接到页面,同时保持 Nuxt 页面的所有出色功能?

任何帮助将不胜感激!

上下文

Headless CMS 正在兴起,我们希望在通用模式 (SSR) 下将我们的 CMS 与 Nuxt 一起使用。

我们一直在使用 Umbraco(一种免费托管的 CMS),它具有灵活的路由系统,我们无法在没有大量用户强烈反对的情况下对其进行限制。

注意:Umbraco 不是无头的,我们自己在 GitHub 上Umbraco Headrest 项目中添加了该功能

注意:每条内容都有一个包含其内容类型名称的字段

例如,以下内容结构是有效的。

.
home
??? events
|   ??? event-one
|   ??? event-two
|       ??? event-special-offer
|       ??? some-other-content
??? special-offer
??? other-special-offer
Run Code Online (Sandbox Code Playgroud)

因此,如果我们想用 nuxt 呈现这些特价商品,我们将需要使用 Pages/SpecialOffer.vue。

问题

问题是这些特价商品的默认路径是:

  • /special-offer
  • /other-special-offer
  • /events/event-two/event-special-offer

编辑器还可以创建自定义路径,例如:

  • /holiday2020/special(可以指向event-special-offer

编辑器还可以重命名内容,因此other-special-offer可以变成new-special-offer. 然后一把umbraco将返回new-special-offer两个 …

umbraco url-routing server-side-rendering nuxt.js headless-cms

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

如何使 sanity io 数组选择为多选?

我有很多标签,我需要为每个文档选择很多标签。每次都要一张一张地点击,很不舒服。我还看到了选定的元素。我怎样才能将它重新制作成像多选这样的字段?它甚至可能是本地的。或者如何一次选择所有标签?

我正在使用数组:

{
  title: 'Language',
  name: 'language',
  type: 'array',
  options: {
    layout: 'grid'
  },
  of: [{
    type: 'reference',
    title: 'Lang',
    to: {
      type: 'settingLanguages'
    }
  }],
},
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

content-management-system sanity headless-cms

6
推荐指数
2
解决办法
8394
查看次数

有没有办法获取 Strapi CMS 内容类型的结构?

内容类型“产品”具有以下字段:

  • string标题
  • int数量
  • string描述
  • double价格

是否有 API 端点来检索“产品”内容类型的结构或模式而不是获取值?

例如:在端点上localhost:1337/products,响应可以是这样的:

[
  {
    field: "title",
    type: "string",
    other: "col-xs-12, col-5"
  },
  {
    field: "qty",
    type: "int"
  }, 
  {
    field: "description",
    type: "string"
  },
  {
    field: "price",
    type: "double"
  }
]
Run Code Online (Sandbox Code Playgroud)

模式或表的结构而不是实际值发送到哪里?

如果不在 Strapi CMS 中,这在其他无头 CMS(例如 Hasura 和 Sanity)上是否可行?

strapi sanity hasura headless-cms

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

Directus 9,如何设置文件权限?

我有一个带有私人消息的应用程序,消息存储在 directus 集合中,每个项目都有多个附件(文件)。如何限制不在对话中的其他用户对这些文件的访问?

我尝试为每个对话设置一个用户组,但我认为这不是最好的方法。

还有一个问题,如何设置文件的“我的”权限?

directus headless-cms

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

Strapi CMS 第三级填充

我在从 Strapi CMS 获取第三级数据时遇到问题。

我的结构如下:

页面 > 内容(动态区域) > 多个实体,例如 HeroSliderElement。

所以从 Postman 调用这个 URL:

{{protocol}}://{{host}}:{{port}}/api/pages?populate[Content][populate]=*
Run Code Online (Sandbox Code Playgroud)

但由于我的 HeroSliderElement 里面有图像,我遇到了问题,我没有得到这些图像。

请求详情 应该有从 CMS 链接的媒体数据:

在此输入图像描述

有谁知道如何解决这个问题?任何帮助表示赞赏!

我目前正在使用以下版本的软件包:

  "dependencies": {
"@strapi/plugin-i18n": "4.0.7",
"@strapi/plugin-users-permissions": "4.0.7",
"@strapi/provider-upload-aws-s3": "^4.1.0",
"@strapi/strapi": "4.0.7",
"pg": "8.6.0",
"strapi-provider-upload-aws-s3": "^3.6.8"
Run Code Online (Sandbox Code Playgroud)

},

javascript headless strapi headless-cms

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

如何覆盖 Strapi 管理面板端点?

在管理面板中 - 我有一个 content-type products,它显示了数据库(MongoDB)中的所有产品

在此处输入图片说明

假设我想编辑 a product,当我点击Save按钮时,我想点击自定义 API/覆盖更新我的products集合的现有端点 !

在此处输入图片说明

是否可以自定义或覆盖管理面板 API?

strapi headless-cms

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

如何在 Strapi 中更新用户

在 Strapi 中,每个用户定义的集合类型都有一个默认服务,允许创建/查找/更新/等。在相应的模型上。例如,Strapi 控制器中的以下代码将使用给定数据更新账单收集类型:

await strapi.services.bill.update({id}, {verified: true, receipt_number})
Run Code Online (Sandbox Code Playgroud)

但是没有针对User内置集合类型的服务。我需要通过自定义控制器更改用户的角色。

javascript node.js strapi headless-cms

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

将 Strapi 部署到弹性豆茎

有人可以提供有关如何将 Strapi 部署到 aws 弹性豆茎的信息吗?我搜索了很多资源,如何在 DO、heroku 等许多不同的地方部署 Strapi,但我很好奇如何将 Strapi 部署到 EB 是可能的,我该怎么做。

node.js amazon-elastic-beanstalk strapi headless-cms

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

Strapi database.js / 多个数据库配置

  1. 如果我在 database.js 中运行 sqlite,Strapi 可以在本地运行,但如果我运行 postgres 则不行/我在网上发现我可以指定npm run develop使用 sqlite,而生产应该使用 postgres。

对于 REF - 我在这里找到了这个答案:https : //github.com/strapi/strapi/discussions/6832

谁能告诉我如何设置这个,因为我真的发现很难阅读这个问题的文档。

当前在文件结构中:

config/database.js
Run Code Online (Sandbox Code Playgroud)

我有这两个设置(用于本地和 heroku) - 我注释掉了postgresheroku 在本地工作的设置

module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'sqlite',
        filename: env('DATABASE_FILENAME', '.tmp/data.db'),
      },
      options: {
        useNullAsDefault: true,
      },
    },
  },
});


module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'postgres', …
Run Code Online (Sandbox Code Playgroud)

sqlite postgresql heroku strapi headless-cms

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

Nuxt 选择哪种渲染模式?SPA、SSR、SSG?

我对网络开发还是新手,并尝试使用 Nuxt 和 Strapi 作为 CMS 来构建电子商务应用程序,以使网站所有者(在本例中也是我)能够轻松添加/编辑/删除产品。

我发现了很多关于这个主题的文章,但我感到非常困惑。我了解了JAMstack这个术语,我真的很喜欢它,但我认为我还没有完全理解它。

在 JAMstack 文章中解释了我的一个类似用例(使用 Strapi、nuxt、snipcart 进行电子商务)。我读到我必须在 SSG 中构建我的前端。在另一篇使用Nuxt 2的文章中,创建项目的屏幕截图显示选择了通用模式。

我的头快要融化了,真的不知道哪个选项是有效的,也不知道所有 SPA/SSG/SSR 是否都可以使用无头 cms 来实现,并提供一个 jamstack 应用程序,我应该使用哪一个。我应该首先使用 jamstack 吗?

e-commerce strapi nuxt.js jamstack headless-cms

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

Headless WordPress GraphQL 端点导致 XAMPP 找不到 404 URL

我正在尝试使用通过 XAMPP Apache localhost 服务器提供的 GraphQL 端点(从无头 WordPress 项目自动生成),但是当我使用 WordPress 中的 GraphQL 设置建议的端点时(https://localhost/does-pizza/ graphql) 我得到一个 404 URL not found。

一些细节可能对任何试图回答这个问题的人有用:

  • 项目文件夹名称实际上是“does-pizza”,因此自动生成的端点

在此输入图像描述

  • 我的项目的 WordPress 端工作得很好,事实上,我可以通过提供的 Ide 发送 GraphQL 查询

在此输入图像描述

  • wp-config.php 以防万一您需要它
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the web site, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 * …
Run Code Online (Sandbox Code Playgroud)

xampp wordpress graphql headless-cms

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

如何使用 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
查看次数