1

我想用craft 3 cms建立一个商业网站。我想创建家长注册表,这样每个家长都会有一个可以在网站上使用的帐户。然后在他们登录后,我希望他们能够添加他们的孩子。

这可以使用工艺 3 厘米吗?我发现的唯一内容是文档上的用户注册表单。

如果有文档博客使用craft 3 cms 集成此功能,或者到目前为止我错过了什么。

4

1 回答 1

1

这取决于您的父子关系有多复杂。最好的解决方案是为此编写一个自定义插件或模块,带有记录和规则,一些控制器......等等

我的解决方案如下

  1. 允许公开注册

  2. 创建两个user groups

    • 家长
    • 孩子
  3. 将默认用户组设置为Parent

  4. 确保用户组Parent具有权限:分配用户组 -> 将用户分配给“儿童”选中

  5. 在其中创建field group一个字段:

    • parentId > number(更准确地说是 int)
  6. 将此字段组分配给用户

  7. 为父母创建一个前端用户注册表,以便他们可以注册。

  8. 然后你需要给父母多一份表格,这样他们就可以注册他们的孩子。为此,父母必须登录,否则将不起作用。

  9. 你可以检查这个

{% if not craft.app.user.isGuest %}

  {# Your child registration form #}

  <input type="hidden" id="parentId" name="parentId" value="{{ craft.app.user.id }}">

  {% else %}

  {# The user is not logged in #}

{% endif %}

这样您就可以:

  • 使用以下方法区分父用户和子用户:

{% set userGroups = craft.app.user.identity.getGroups() %}

  • 使用以下方法获取登录的孩子的父用户对象:

{% set parent = craft.users().id( craft.app.user.identity.parentId ).one()%}

  • 获取登录的父母孩子

{% set children = craft.users().parentId( craft.app.user.id ).all() %}

于 2019-08-08T13:30:16.360 回答