4

如何修改 auth 智能包?

例如注册后的下拉框显示按钮更改密码和退出。我想添加一个编辑帐户按钮。如何?

谢谢。

4

2 回答 2

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。如果您不希望您的更改影响您的其他流星应用程序,您可能必须“分叉”您自己的 accounts-ui 包。

有关于使帐户 UI 更可定制的讨论(如可覆盖的模板),但在当前版本的 Meteor 中是不可能的。我建议向流星开发人员描述您的用例。流星开发者公开欢迎反馈

请反馈!我们很好奇的一些特定领域:

  • 您想对 loginButtons 模板进行何种自定义?

  • 您可能会使用哪种帐户限制?每个人都必须有一个用户名?每个人都必须有一个电子邮件?

于 2012-10-22T05:58:01.980 回答
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为依赖项。

于 2013-09-30T15:06:24.663 回答