如何创建带撇号的注册表单

How to create a registering form with apostrophe

我正在寻找使用撇号创建注册表单的教程。

我在 Google 和 Stack 上搜索过,但没有找到任何有趣的内容。 谁能告诉我方法(从哪里开始,要达到什么目的)?

谢谢!

法比恩

这是一个用撇号构建表单的好例子,它有 back-end API 个组件:

https://apostrophecms.org/docs/tutorials/intermediate/forms.html

您可能希望将 back-end 代码替换为类似这样的代码(在您的注册模块中的 index.js 文件中):

self.route('post', 'register', function(req, res) {
    var newUser = {
        firstName: req.body['register-first-name'],
        lastName: req.body['register-last-name'],
        email: email,
        password: req.body['register-password'],
        title: req.body['register-first-name'] + ' ' + req.body['register-last-name'],
        published: true,
        username: email
    };

    var userModule = self.apos.modules['apostrophe-users'];

    userModule.insert(req, newUser, {permissions: false}, function (err, res2) {
        if (err) {
            //There was an error - handle it
        } else {
            //User was created
            return res.send({status: 'ok'});
        }
    });
});

上面的代码会将 "register-first-name"、"register-last-name" 等表单输入从请求正文中取出,并将它们放入一个新对象中。然后,userModule.insert 调用将在默认撇号用户模块中创建一个新用户。在前端,您可能想要查找并序列化您的表单,然后向您在上面创建的路由发起 POST 请求。它可能看起来像这样(将 {module name} 替换为 "registration" 模块的正确名称):

$('body').on('click', '#register-account', function() {
    var form = $('#user-registration-form');
    var serialized = form.serialize();
    $.post('/modules/{module name}/register', serialized, function(result) {
        //Do something with the result of the registration request
    }
});

然后,剩下的就是创建实际的页面模板了。这个答案顶部的 link 有很多关于在哪里创建适当的 Javascript 和 HTML 文件来完成所有这些的信息。

我找到了解决方案,我必须调用 my_modul_name-widgets 才能访问正确的路由,而且它工作正常。 我可以将新用户添加到我的用户列表 谢谢约瑟夫