如何创建带撇号的注册表单
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 才能访问正确的路由,而且它工作正常。
我可以将新用户添加到我的用户列表
谢谢约瑟夫
我正在寻找使用撇号创建注册表单的教程。
我在 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 才能访问正确的路由,而且它工作正常。 我可以将新用户添加到我的用户列表 谢谢约瑟夫