You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Strapi多租户API:如何关联Email Designer插件模板至内容管理器?

解决方案:Strapi Email Designer 模板接入内容管理器及多租户关联设置

一、将Email Designer插件表接入内容管理器

Strapi允许通过扩展插件配置,把第三方插件的内容类型暴露到内容管理器中,步骤如下:

  1. 创建/编辑插件扩展文件
    在项目根目录下创建./src/extensions/email-designer/strapi-server.js(路径不存在则手动新建),写入以下代码:
module.exports = (plugin) => {
  // 让邮件模板在内容管理器中可见
  plugin.contentTypes['email-template'].config = {
    ...plugin.contentTypes['email-template'].config,
    visible: true,
  };

  // 开放模板的CRUD权限给管理员角色
  if (plugin.permissions) {
    const templatePermissions = plugin.permissions.controllers['email-template'];
    templatePermissions.find.enabled = true;
    templatePermissions.findOne.enabled = true;
    templatePermissions.create.enabled = true;
    templatePermissions.update.enabled = true;
    templatePermissions.delete.enabled = true;
  }

  return plugin;
};
  1. 重启Strapi服务
    重启后,你就能在内容管理器左侧菜单看到Email Template入口,直接在面板中管理所有邮件模板,无需硬编码端点。

二、建立Tenant与Email Template的关联字段

要实现租户与模板的动态关联,只需在Tenant内容类型中添加关联字段:

  1. 编辑Tenant的Schema配置
    打开./src/api/tenant/content-types/tenant/schema.json,在attributes节点下添加关联字段:
{
  "attributes": {
    // 保留原有字段...
    "emailTemplate": {
      "type": "relation",
      "relation": "oneToOne",
      "target": "plugin::email-designer.email-template"
    }
  }
}
  • 若一个租户需要关联多个模板,可将relation改为oneToMany;若多个租户共用一个模板,改为manyToOne。
  1. 重启Strapi服务
    重启后进入Tenant的编辑页面,会出现一个下拉选择框,直接选择已创建的Email Designer模板即可完成关联,无需手动输入templateId。

  2. API中获取关联模板
    在业务代码中,通过关联字段直接拉取模板内容:

const targetTenant = await strapi.db.query('api::tenant.tenant').findOne({
  where: { id: 租户ID },
  populate: ['emailTemplate'],
});

// 使用关联的模板发送邮件
const templateContent = targetTenant.emailTemplate;

注意事项

  • 确保Email Designer插件版本与当前Strapi版本兼容,部分旧版本可能需要调整扩展代码逻辑。
  • 权限设置需精细化,避免普通角色误操作其他租户的邮件模板。
  • 多租户场景下,建议给Email模板添加tenantId字段做数据隔离,或配合Strapi多租户插件实现租户数据隔离。

内容的提问来源于stack exchange,提问作者Strife86

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:20:26