2010-10-17 31 views
8

Eh bien, je l'ai essayé de changer le thème par défaut de folie en suivant ce tutorielSpree, Rails 3, et thématisation

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

Mais la page d'accueil ne change pas du tout, bien depuis la tutoriel est destiné aux rails 2, je me demandais juste ce que je dois changer à partir du tutoriel pour le faire fonctionner avec des rails 3?

Une solution plus simple que l'utilisation de crochets est la bienvenue. Aussi pendant que je suis là, est-il un moyen d'annuler la commande que vous exécutez dans les rails comme peut-être désinstaller une extension.

Répondre

6
  1. La solution qui a fonctionné pour moi était de créer ma propre extension dire « site » avec rails g spree:extention site j'ai regard sur mon chemin de pierres précieuses et vient d'ouvrir la pierre précieuse tout-core spree dans un autre projet de l'éditeur et recopié la app/views/layouts/spree_application.html.erb.

Si votre code html est pas si différent (le mien est tout à fait différente à http://daugpigiau.lt) du magasin de frénésie par défaut que vous pourriez être en mesure d'utiliser uniquement des crochets et remplacer certaines des parties. Pourtant, la seule façon que j'ai trouvée pour connaître les noms de hook était de regarder à l'intérieur de ces gemmes de base et des modèles qui étaient intéressants pour moi. Une fois que vous savez ce que les crochets sont d'intérêt pour vous que vous pouvez faire quelque chose comme:

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 

Ce ne sont que mes propres partials pour les places que je voulais changer.

  1. Oui, vous pouvez annuler la partie de génération d'extension que toute autre génération que vous avez juste besoin d'exécuter rails destroy spree:extension your_extension_name et il reviendra toutes les opérations qui ont été effectuées au cours de c'est la génération

J'ai strugled avec la partie primordiale à la première cause la documentation sur celui-ci a un peu trop d'espaces vides pour la première fois à saisir l'utilisateur.

+0

merci pour la réponse, je ne peux pas envelopper mes têtes autour de la documentation.Cela aide vraiment. – BimoZX

+0

D'accord, la documentation est très confuse, et semble être obsolète ... –

3

Pour modifier le thème par défaut de Spree vous devez générer votre propre extension et remplacer les fichiers de vue de spree_core-0.30.1/app/views. Cependant, il y a un petit bogue dans la version actuelle de Spree qui peut rendre la création de thèmes et d'extensions vraiment confuse. Selon les documents, pour créer une nouvelle extension, vous devez exécuter la commande suivante:

$ rails g spree:extension myext 

Et il devrait produire la sortie suivante:

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 

Cependant, la sortie est:

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 solution de contournement actuelle consiste à changer la ligne

gem 'spree' 

dans votre Gemfile à

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

puis exécutez bundle install et rails g spree:extension myext à nouveau. Il va créer tous les fichiers correctement et le brancher dans votre Gemfile. Ensuite, vous pouvez remplacer tous les fichiers nécessaires dans myext/app/views

+0

Merci, le doc me confond, je pense que certains sont dépassés. – BimoZX