如何修改auth智能包?
例如,注册后的下拉框显示按钮更改密码并注销。我想添加一个编辑帐户按钮。怎么样?
感谢。
答案 0 :(得分:3)
要添加编辑按钮,请在此处查看: https://github.com/meteor/meteor/tree/master/packages/accounts-ui-unstyled
具体来说,是login_buttons.html文件。
更新:链接文件顶部有一个注释:
注意:您不应直接使用这些模板。相反,使用 全球{{loginButtons}}模板。
因此,您应该在流星版安装中找到这些文件(我的文件位于C:\Program Files (x86)\Meteor\packages\accounts-ui\login_buttons.html
)并编辑该文件。
请注意,这将修改所有流星应用的帐户用户界面。如果您不希望您的更改影响您的其他流星应用程序,您可能需要“分叉”您自己的帐户-ui封装
讨论了使帐户UI更具可定制性(如可覆盖的模板),但目前的Meteor版本无法实现。我建议向流星开发人员描述你的用例。流星开发者openly welcome feedback:
请反馈!我们很好奇的一些特定领域:
您想对loginButtons模板进行哪种自定义?
您可能会使用哪种帐户限制?每个人都必须拥有用户名?每个人都必须有电子邮件吗?
答案 1 :(得分:0)
您可以覆盖loginButtons
,因为当前默认的帮助对象由于某种原因是公开的:
Handlebars._default_helpers["loginButtons"] = function(options) {
return "hello this is test";
};
原始辅助函数如下所示:
Handlebars.registerHelper(
"loginButtons",
function (options) {
if (options.hash.align === "right")
return new Handlebars.SafeString(Template._loginButtons({align: "right"}));
else
return new Handlebars.SafeString(Template._loginButtons({align: "left"}));
});
您可以在此处使用自己的模板替换默认的_loginButtons
模板。
然而,由于Handlebars._default_helpers
并非真正意图以这种方式使用,因此很容易打破未来版本的流星。但至少你不必使用流星叉。
此外,您必须确保在accounts-ui-unstyled
之后添加帮助程序。因此,如果您在另一个包中使用此技巧,请务必将accounts-ui-unstyled
声明为依赖项。