Meteor修改auth智能包

时间:2012-10-22 05:22:36

标签: javascript meteor

如何修改auth智能包?

例如,注册后的下拉框显示按钮更改密码并注销。我想添加一个编辑帐户按钮。怎么样?

感谢。

2 个答案:

答案 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声明为依赖项。