如何在 spree 中调整帐户、购物车等页面?

How can I adjust an account, cart, etc pages in spree?

我不想使用布局。我对默认设置很满意,但我只想做一些小改动。 除了布局之外,我似乎找不到这个答案。我想使用 deface 并插入 before/after 个特定的 div。

假设我想更改用户帐户页面,我该如何使用 deface 执行此操作? 我也可以使用这个 virtual_path => "spree/layouts/spree_application",但它看不到 id=content。一切似乎都和以前一样。没有变化。

Deface::Override.new(:virtual_path => 'spree/shared/<WHAT IS OVER HERE to USER ACCOUNT?>',
                     :name => 'something',
                     :insert_after => 'div#content',
                     :text => '<div class="div that I want to change/add/mod">whatever</div>'
)

任何时候您不确定特定模板的位置,请转到 Spree Github page,然后在 backend 中的 app/views/ 目录下查看]、前端api,或任何相关的地方。

所以在你的情况下,你可能想要破坏 users/edit page。从那个 link,你可以看到你需要在 Deface 选项中输入的虚拟路径,所以它看起来像这样:

Deface::Override.new(:virtual_path => 'spree/admin/users/edit',
                     :name => 'something_meaningful',
                     :insert_after => 'div#some_selector',
                     :text => '<div class="div that I want to change/add/mod">whatever</div>'
)

注意两点:

  1. 该视图中没有 ID 为 "content" 的 div,因此您必须检查 github 存储库中的源代码以找出位置您要更改的内容位于

  2. 查看 Spree github 存储库时,确保您查看的分支与您正在使用的版本相对应。例如,我目前使用的是 Spree 2.3,但该版本和当前版本之间发生了相当大的变化,模板可能会被完全移动或删除。