Deface::Override.new(:virtual_path => "spree/layouts/admin",
:name => "backend_logo",
:replace => 'erb[loud]:contains("spree/admin/shared/header")',
:partial => "layouts/backend_navbar")
我通过复制 GitHub 上与我正在使用的 Spree 的构建(稳定版 3)匹配的布局来制作部分布局,但用h3
标题替换了 Logo。
它起作用了,标题出现了,但其余的(sidebar-toggle
和admin_login_navigation_bar
)不再是内联的。sidebar-toggle
坐在侧边栏下并admin_login_navigation_bar
消失了。
我认为它可能是 CSS,所以我给标签赋予了h3
与图像标签相同的 id 和类,如下面的<h3>Boogie</h3>
. 我知道可能有更好的方法,比如只替换徽标的覆盖。我为前端做了这个,但无法让它在后端工作。现在我已经玩了这么久,以至于我真的很想知道在这种情况下会给出什么。
<% admin = try_spree_current_user.try(:has_spree_role?, "admin") %>
<header class="header <%= admin ? "logged-in" : "logged-out" %>">
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container-fluid">
<div class="row">
<div class="navbar-header col-sm-3 col-md-2">
<h3 id="logo" class: "logo navbar-brand">Boogie</h3>
<% if admin %>
<span class="navbar-toggle" id="sidebar-toggle">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</span>
<% end %>
</div>
<% if admin %>
<div class="col-sm-9 col-md-10">
<div class="navbar-right" data-hook="admin_login_navigation_bar"></div>
</div>
<% end %>
</div>
</div>
</nav>
</header>