好吧,我一直在尝试按照本教程更改 spree 的默认主题
http://blog.endpoint.com/2010/01/rails-ecommerce-spree-hooks-tutorial.html
但是主页根本没有改变,因为本教程适用于rails 2,我只是想知道我需要从教程中更改什么以使其与rails 3一起使用?
欢迎使用比使用钩子更简单的解决方案。另外,当我这样做时,有没有办法撤消您在 rails 中运行的命令,例如卸载扩展程序。
好吧,我一直在尝试按照本教程更改 spree 的默认主题
http://blog.endpoint.com/2010/01/rails-ecommerce-spree-hooks-tutorial.html
但是主页根本没有改变,因为本教程适用于rails 2,我只是想知道我需要从教程中更改什么以使其与rails 3一起使用?
欢迎使用比使用钩子更简单的解决方案。另外,当我这样做时,有没有办法撤消您在 rails 中运行的命令,例如卸载扩展程序。
rails g spree:extention site
然后我查看了我的 gems 路径,然后在另一个编辑器项目中打开了整个 spree-core gem 并复制了app/views/layouts/spree_application.html.erb
.如果您的 html 与默认的狂欢商店没有太大不同(我的在http://daugpigiau.lt有很大不同),您可能只能使用钩子并覆盖某些部分。我发现知道钩子名称的唯一方法仍然是查看那些对我来说很有趣的疯狂核心宝石和模板。在您知道您感兴趣的钩子之后,您可以执行以下操作:
class PigiauHooks < Spree::ThemeSupport::HookListener
# custom hooks go here
insert_after :admin_inside_head, 'shared/admin/ckeditor_include'
insert_before :admin_product_form_meta, 'shared/admin/product_editor'
insert_before :admin_product_form_additional_fields, 'shared/admin/unavailable_on'
end
这些只是我自己想要改变的地方的部分内容。
rails destroy spree:extension your_extension_name
它将恢复在其生成期间执行的所有操作起初,我一直在为最重要的部分而苦苦挣扎,因为第一次使用的用户无法掌握有关此文档的太多空白。
要更改 Spree 的默认主题,您需要生成自己的扩展并覆盖其中的视图文件spree_core-0.30.1/app/views
。但是,当前版本的 Spree 中存在一个小错误,可能会使主题和扩展创建非常混乱。根据文档,要创建新扩展,您应该运行以下命令:
$ rails g spree:extension myext
它应该产生以下输出:
create myext
create myext/db
create myext/public
create myext/LICENSE
create myext/Rakefile
create myext/README.md
create myext/.gitignore
create myext/myext.gemspec
create myext/lib/tasks/install.rake
create myext/app
create myext/app/controllers
create myext/app/helpers
create myext/app/models
create myext/app/views
create myext/spec
exist myext/lib
create myext/lib/myext_hooks.rb
create myext/lib/tasks/myext.rake
create myext/lib/myext.rb
create myext/spec/spec_helper.rb
gemfile myext
但是,输出是:
create myext
create myext/config
create myext/db
create myext/public
create myext/LICENSE
create myext/Rakefile
create myext/README.md
Could not find ".gitignore" in any of your source paths. Your current source paths are:
当前的解决方法是更改行
gem 'spree'
在您的 Gemfile 中
gem 'spree', :git => "git://github.com/railsdog/spree.git", :tag => "v0.30.1"
然后bundle install
再次运行rails g spree:extension myext
。它将正确创建所有文件并将其插入您的 Gemfile。然后你可以覆盖所有必要的文件myext/app/views