PencilBlue добавление нового поля в форму регистрации
Я пытаюсь добавить поле роли пользователя в форму регистрации на моем сайте PencilBlue. Создал свой собственный плагин, скопировал \controllers\actions\user\sign_up.js
и установить getRoutes
,
Теперь я получаю эту ошибку: Cannot set property 'position' of null.
Я сделал все, что нужно для создания нового плагина. Все работает нормально когда ядро sign-up.js
файл редактируется с
var user_type = post.admin['id'];
if(user_type == 0){
post.admin = pb.SecurityService.ACCESS_USER;
} else {
post.admin = pb.SecurityService.ACCESS_WRITER;
}
Я получаю сообщение об ошибке при использовании его в моем плагине. Я установил getRoutes, как это
SignUp.getRoutes = function(cb) {
var routes = [
{
method: 'post',
path: '/actions/user/sign_up',
auth_required: false,
content_type: 'application/json'
}
];
cb(null, routes);
};
Шаблон HTML
Файл передает значения сообщения просто отлично. Структура моего каталога контроллеров плагинов плоская, поэтому нет подкаталогов, которые следуют за настройкой ядра, в точности так, как рекомендовано командой PB.
1 ответ
Следуя этой теме, пожалуйста, добавьте
request_body: ['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data']
внутри getRoutes
это будет выглядеть так ниже:
SignUp.getRoutes = function(cb) {
var routes = [
{
method: 'post',
path: '/actions/user/sign_up',
auth_required: false,
content_type: 'application/json',
request_body: ['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data']
}
];
cb(null, routes);
};