狂欢 - 添加自定义管理选项卡/视图

时间:2013-07-18 19:10:17

标签: spree

我正在建立我的电子商务网站,并选择了Spree。我需要自定义管理功能,而不是狂欢提供的功能。

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

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

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

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

更新

Deface 似乎是@gmacdougall建议的操作方式。我还在尝试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会显示并说“标签”没有匹配项。我尝试了其他一些文件,但没有出现。

我做错了吗?

1 个答案:

答案 0 :(得分:1)

您应该查看View Customization Guide,了解有关如何将标签添加到管理区域的更多信息。您可以使用Deface gem将选项卡添加到Spree后端。您可以提供自己的控制器和型号,以提供您想要的功能。

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

修改

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

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