0

我正在建立我的电子商务网站,并为此选择了 Spree。除了 spree 提供的功能之外,我还需要自定义管理功能。

例如,我想在管理面板中有一个新选项卡。在该面板中,我需要进行一些配置。

例如:允许我展示特定产品的标签(例如:本周蛋糕)

我浏览了文档。但是找不到任何这样的功能。可能吗?

我对 Spree 和 Ruby 都是新手。我主要来自 PHP/.NET 背景。到目前为止,Ruby 让我感到惊讶并且很酷。

更新:

正如@gmacdougall 建议的那样, Deface似乎是进行该操作的方式。我仍在尝试 Deface,但到目前为止都失败了。

对于测试,我试图删除nav标签并添加<h1>Hello!</h1>

Deface::Override.new( 
                      :virtual_path => 'admin/shared/_menu',
                      :name => 'custom-admin-tab',
                      :replace => "nav",
                      #:partial => "spree/admin/shared/custom_tabs"
                      :text => '<h1>This is the new NAV</h1>'
                    )

查看控制台,当在文件中输入以下代码时,我没有看到任何新的事情发生app\overrides\custom-admin-tab.rb

但有趣的是,当我将 更改为:virtual_path:virtual_path => 'admin/shared/_tabs',Deface 出现并说“选项卡”没有匹配项。我用其他一些文件尝试过,但没有出现。

难道我做错了什么?

4

1 回答 1

1

您应该查看查看自定义指南以获取有关如何将选项卡添加到管理区域的更多信息。您可以使用Deface gem 将选项卡添加到 Spree 后端。你可以提供你自己的控制器和模型来提供你想要的功能。

Spree 是非常可定制的,这些类型的定制需要一些工作,但非常可行。

编辑:

使用 Spree 2-0-stable 此覆盖将覆盖导航:

Deface::Override.new(
                     :virtual_path => 'spree/layouts/admin',
                     :name => 'custom-admin-tab',
                     :replace => "nav#admin-menu",
                     :text => '<h1>This is the new NAV</h1>'
                    )
于 2013-07-19T15:49:47.407 回答