Полагаю, вы говорите, что вам не нужно дублировать функцию выхода из системы (вы уже это сделали), вам нужно изменить ссылку выхода из системы в панели администратора. К счастью, есть хороший способ сделать это.
Как и большинство модулей, модуль apostrophe-login
добавляет свои кнопки панели администратора в метод, называемый addAdminBarItems
. Этот метод выглядит следующим образом:
self.addAdminBarItems = function() {
var items = [];
var key;
if (self.options.resetKnownPassword) {
key = self.__meta.name + '-reset-known-password';
self.apos.adminBar.add(key, 'Change Password', null);
items.push(key);
}
key = self.__meta.name + '-logout';
self.apos.adminBar.add(key, 'Log Out', null, { last: true, href: '/logout' });
items.push(key);
if (items.length > 1) {
self.apos.adminBar.group({
label: 'Account',
items: items,
last: true
});
}
};
Мы можем переопределить его в соответствии с нашими потребностями.
Создать lib/modules/apostrophe-login/index.js
на уровне проекта. Не копируйте и не вставляйте все это из node_modules, это никогда не требуется, мы переопределяем один метод здесь. Apostrophe автоматически увидит это и применит наши изменения к оригиналу.
Вот как будет выглядеть файл:
// in lib/modules/apostrophe-login/index.js of your project
module.exports = {
construct: function(self, options) {
self.addAdminBarItems = function() {
key = self.__meta.name + '-logout';
self.apos.adminBar.add(key, 'Log Out', null, { last: true, href: '/anywhere/you/want/it/to/go' });
};
}
};
Это заменит метод, который нам нужно изменить, не изменяя ничего другого .