2012-12-05 7 views
0

Je voudrais dupliquer un produit Shopify existant avec toutes ses images et variantes. Comment puis-je faire cela en utilisant la gemme Shopify? Je cours Rails 3.2.2 et la gemme 3.0 de Shopify.Comment dupliquer un produit en utilisant Shopify gem

Merci, Augusto

MISE À JOUR # 1:

J'ai essayé le code suivant:

Je pense que le problème pourrait être que je suis en train de créer un nouveau produit avec le même shopifyid que l'original. Mais je ne suis pas sûr, je pense qu'il pourrait y avoir d'autres problèmes.

original_p = ShopifyAPI::Product.find(xxx) 
new_p = ShopifyAPI::Product.new(original_p.attributes) 
new_p.save 

ActiveResource::ResourceNotFound: Failed. Response code = 404. Response message = Not Found. 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/connection.rb:136:in `handle_response' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/shopify_api-3.0.1/lib/active_resource/connection_ext.rb:9:in `handle_response_with_response_capture' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/connection.rb:115:in `request' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/shopify_api-3.0.1/lib/active_resource/connection_ext.rb:13:in `request_with_detailed_log_subscriber' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/connection.rb:92:in `block in put' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/connection.rb:218:in `with_auth' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/connection.rb:92:in `put' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/base.rb:1354:in `update' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/observing.rb:19:in `update_with_notifications' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/base.rb:1156:in `save' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/validations.rb:79:in `save_with_validation' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/activeresource-3.2.2/lib/active_resource/observing.rb:19:in `save_with_notifications' 
from (irb):26 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.2/lib/rails/commands/console.rb:47:in `start' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.2/lib/rails/commands/console.rb:8:in `start' 
from /Users/phishman/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.2/lib/rails/commands.rb:41:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>'1.9.2p290 :027 > np.errors 
+0

Je vous suggère de lire la documentation Shopify concernant la recherche d'un produit et la création d'un produit. [afficher un produit] (http://api.shopify.com/product.html#show) et [créer un produit] (http://api.shopify.com/product.html#create) – Magicmarkker

+0

Merci Magicmarkker, mais la documentation de l'API Shopify montre comment créer un nouveau produit en utilisant JSON. J'aimerais reproduire un produit existant en utilisant la gemme Shopify (Ruby). – Augusto

+0

Je ne veux pas que vous écriviez le code pour moi mais j'ai besoin d'aide pour utiliser la gemme Shopify, pas l'API Shopify JSON. – Augusto

Répondre

1

Juste au cas où vous n'avez pas trouvé de solution.

  1. Je suggère d'abord trouver le produit que vous souhaitez dupliquer et enregistrer ses informations en dire une base de données locale (par exemple. En double Ojbect)
  2. Prenez votre version locale, puis créez via l'API

    product = ShopifyAPI::Product.create({ :body_html => duplicate.body_html, :title => duplicate.title })

Lorsque le duplicate est de votre région: duplicate = Duplicate.find().last ou quelque chose le long de ces lignes.

Questions connexes