我是rails的新手,我已经建立了一个标准的狂欢电子商务解决方案。我现在想要自定义默认模板和样式。根据狂欢文档[1],最好的方法是使用Deface。不幸的是,我无法弄清楚现有视图/布局的位置。
例如,虽然文件建议:
例如,要覆盖主布局,请创建文件
YOUR_SITE_OR_EXTENSION/app/views/spree/layouts/spree_application.html.erb
我的app/views
文件夹中不包含名为spree
有人可以告诉我,如何更改视图模板?
谢谢。
答案 0 :(得分:0)
您必须实际创建该目录和沿途的每个目录,直到您到达要覆盖的文件。如果从根目录运行这些命令,那么你应该很高兴。
mkdir app/views/spree
mkdir app/views/spree/layouts
touch app/views/spree/layouts/application.html.erb
然后将此处的内容:https://github.com/spree/spree/blob/master/frontend/app/views/spree/layouts/spree_application.html.erb复制到您刚刚创建的文件中。
如果您重新启动Web服务器,您应该能够更改本地application.html.erb文件并在本地查看它们。
每当您想要完全覆盖模板时,您可以在Github上找到需要覆盖的模板:https://github.com/spree/spree并重新创建必要的文件/目录。 Spree将在gem之前在localhost中查找模板,因此只要您在右侧目录中覆盖正确的模板,就可以自定义您喜欢的任何视图。
答案 1 :(得分:0)
或者,您可以尝试运行rails generate spree:frontend:copy_views命令从gem中提取所需的所有视图,并且严格按照gems文件夹层次结构,可以手动添加缺少的任何内容。例如,以下spree_backend / views / spree / admin / users / _lifetime_stats.html.erb中的parsl是gems。要输入所需的代码,我必须在以下路径上创建一个文件夹-project / app / views / spree / admin / users / _lifetime_stats.html.erb的名称以及我将在此处进行的所有更改主视图代码。这是Deface :: override
的替代方法