我正在寻找删除“由狂欢提供动力”页脚。有谁知道这是在哪里?
另外,添加新分类时如何覆盖“Shop By”?
谢谢
免责声明:这些提示可能与最新版本的 Spree 中所写的不完全一样。我最近没有和 Spree 合作过。
对于 Spree 1.0 版,您可以覆盖app/views/spree/layouts/spree_application.html.erb。我认为当前版本与以前(1.0 之前)版本的路径略有不同。
作为更简洁的选项,您可以使用 Deface 删除页脚中的“Powered by Spree”语句,如下所示:
Deface::Override.new(:virtual_path => "spree/layouts/spree_application",
:name => "footer-left",
:remove => "#footer-left")
如果要替换它,可以执行以下操作:
Deface::Override.new(:virtual_path => "spree/layouts/spree_application",
:name => "footer-left",
:replace_contents => "#footer-left",
:text => "My Left Footer Text")
甚至更漂亮:
Deface::Override.new(:virtual_path => "spree/layouts/spree_application",
:name => "footer-left",
:replace_contents => "#footer-left") do
'<div id="footer-left" class="columns alpha eight" data-hook>
<p><%= t(:powered_by) %> <%= link_to "YuriTek", "http://yuritek.com" %></p>
</div>'
end
只需将上面的语句放入一个 rb 文件中,并将其放在 app/overrides 目录中。我认为将它放入 config/initializers 也可以。
PS Deface 包含在 Spree 中,开箱即用。
这更新了Spree v1.3的 Binary 和 yuri 的答案
页脚已移入部分app/views/spree/shared/_footer.html.erb
因此,要使用 Deface 覆盖它,您可以使用以下两种方法之一:
Deface::Override - 这是传统方法(根据 yuri 的回答)
Deface DSL - .deface 文件(根据 Binary 的回答)
因此,要使用 Deface::Override,请创建一个包含以下内容的文件app/overrides/remove_footer.rb
:
Deface::Override.new(:virtual_path => 'spree/shared/_footer',
:name => 'remove_footer',
:remove => '#footer[data-hook]'
)
或者
要使用 Deface DSL,请创建一个包含以下内容的文件app/overrides/spree/shared/footer/remove_footer.deface
:
remove '#footer[data-hook]'
Yuri 的回答很好,但我更喜欢 Deface DSL 语法。remove_powered_by.deface
对于 Spree 1.0 或更高版本,在目录中创建一个名为的文件app/overrides/spree/layouts/spree_application/
并添加以下内容:
<!--
remove '#footer-left > p:first-child'
-->
而已。
您可以在https://github.com/binaryphile/spree_dibs_1.3的我公司的 Spree 商店代码中看到许多覆盖示例