2010-10-17 10 views
8

Bueno, he estado tratando de cambiar el tema por defecto de juerga siguiendo este tutorialSpree, los carriles 3 y tematización

http://blog.endpoint.com/2010/01/rails-ecommerce-spree-hooks-tutorial.html

Pero la página no cambia en absoluto, bien desde el tutorial está destinado a rails 2, me pregunto qué necesito cambiar del tutorial para que funcione con rails 3?

Se da la bienvenida a una solución más simple que usar ganchos. Además, mientras estoy en ello, ¿hay alguna forma de deshacer el comando que ejecutas en los rieles, como la desinstalación de una extensión?

Respuesta

6
  1. La solución que funcionó para mí fue crear mi propia extensión decir 'sitio' con rails g spree:extention site entonces he vistazo a mi camino gemas y acaba de abrir toda la gema ola de núcleos en otro proyecto y editor de copia sobre el app/views/layouts/spree_application.html.erb.

Si su html no es tan diferente (el mío es bastante diferente al http://daugpigiau.lt) de la tienda de juerga por defecto es posible que pueda usar sólo ganchos y anular algunas de las partes. De todos modos, la única forma en que descubrí nombres de gancho fue ver dentro de esas gemas y plantillas de juerga que eran interesantes para mí. Después de saber lo que los ganchos son de interés para usted puede hacer algo como:

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 

Estos son sólo mis propios parciales para los lugares que quería cambiar.

  1. Sí se puede deshacer la parte de generación de extensión como cualquier otra generación sólo tiene que ejecutar rails destroy spree:extension your_extension_name y se revertirá toda la operación que se lleva a cabo durante todo su generación

He luchado con la parte primordial al principio porque la documentación sobre este tiene demasiados espacios en blanco para que el usuario lo capte por primera vez.

+0

gracias por la respuesta, no puedo entender la documentación.Realmente ayuda. – BimoZX

+0

De acuerdo, la documentación es muy confusa, y parece estar desactualizada ... –

3

Para cambiar el tema predeterminado de Spree, debe generar su propia extensión y anular los archivos de vista de spree_core-0.30.1/app/views en ella. Sin embargo, hay un pequeño error en la versión actual de Spree que puede hacer que la creación de temas y la extensión sea realmente confusa. De acuerdo con la documentación, para crear una nueva extensión se debe ejecutar el siguiente comando:

$ rails g spree:extension myext 

Y debe producir el siguiente resultado:

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 

Sin embargo, la salida es:

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: 

La solución actual es cambiar la línea

gem 'spree' 

en su Gemfile a

gem 'spree', :git => "git://github.com/railsdog/spree.git", :tag => "v0.30.1" 

continuación, ejecute bundle install y rails g spree:extension myext nuevo. Creará todos los archivos correctamente y lo conectará a su Gemfile. A continuación, puede anular todos los archivos necesarios en myext/app/views

+0

Gracias, el documento me confunde, creo que algunos están desactualizados. – BimoZX

Cuestiones relacionadas