La Mise À Jour De Magento Attribut Par Programmation
J'ai écrit un script qui met à jour mon attribut add_ten_pence
, l'attribut est un oui/non valeur booléenne. Au moment où il passe à travers la SKU's
dans la base de données, mais malheureusement ce n'est pas la mise à jour de la base de données. J'ai collé le script ci-dessous ce que quelqu'un sais où je vais mal?
L'attribut est défini sur " Non "car par défaut, et je souhaite le changer en" Oui " lorsque le script s'exécute, et vice versa.
require_once('app/Mage.php');
umask(0);
Mage::app('default');
Mage :: app ()->setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID);
$productCollection = Mage::getModel('catalog/product')->getCollection();
foreach($productCollection as $_product)
{
echo "\n".'updating '.$_product->getSku()."...\n";
$product = Mage::getModel('catalog/product')->load($_product->getEntityId());
$product->setAddTenPence(true);
$product->save();
}
OriginalL'auteur iamgraeme | 2013-04-14
Vous devez vous connecter pour publier un commentaire.
Essayez d'enregistrer le seul attribut au lieu de la totalité de la collection de produits.
Mise à JOUR
Façon beaucoup plus rapide:
(Merci https://magento.stackexchange.com/users/146/marius!)
Quand j'ai mis cet extrait Mage::app ()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); cela fonctionne pour moi , parce que c'est nécessaire lorsque le code est exécuté dans la zone frontend, si votre contrôleur il est admin, il n'est pas nécessaire de définir ADMIN_STORE_ID.
Merci, c'optimisé mon gain de temps beaucoup. BTW: où dois-je l'habitude de trouver toutes les méthodes disponibles sur un objet? Il n'y a pas de documentation pour Magento qui pourrait vous aider à cela.
Alan Tempête répondu à la question des méthodes a tout à l'arrière. Vous ne pouvez vraiment pas vous tromper en suivant ses conseils sur ce genre de choses: stackoverflow.com/questions/5517491/...
où dois-je placer ce code?
OriginalL'auteur seanbreeden