我正在建立我的电子商务网站,并选择了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会显示并说“标签”没有匹配项。我尝试了其他一些文件,但没有出现。
我做错了吗?
答案 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>'
)