Un client possède plus de 20000 produits avec 7 sites Web. Ils avaient auparavant 4 sites Web et la plupart des produits sont associés à 4 sites Web. Quelle est la manière la meilleure et la plus rapide de parcourir les produits et de mettre à jour les produits pour inclure les nouveaux sites Web.
J'ai le code suivant mais il est beaucoup trop lent:
$ productCollection = Mage :: getModel ('catalogue / produit') -> getCollection () -> addFieldToFilter ('sku', array ('like' => '02% ')); foreach ($ productCollection as $ product) { echo $ product-> getSku (); $ product-> setWebsiteIds (array (1,2,3,4,5,6,7)); essayez { $ product-> save (); echo "- enregistré."; } catch (Exception $ e) { echo '-'. $ e-> getMessage (); } echo "\ n"; }
Je pensais utiliser la méthode de marche itérative, mais je comprends que le magasin / site Web n'est pas exactement un attribut, il ne peut donc pas être facilement mis à jour seul.
Si vous souhaitez uniquement ajouter les produits affectés à tous les 4 sites existants précédemment, utilisez ceci:
Voir aussi: Filtrer les produits par site Web à l'aide de AND
Cela peut être un script de configuration Magento ou un script PHP jetable (dans ce cas, ajoutez
include 'app/Mage.php';
en haut et supprimez-le du serveur après utilisation)la source
Étape 1: obtenir tous les ID de site Web / créer un tableau d'ID de site Web
Étape 2: obtenir tous les ID de produit
Étape 3: ajouter des identifiants de site Web à tous les produits
Remarque: Si vous souhaitez supprimer le site Web du produit. utiliser supprimer à la place ajouter un mot
la source
Une autre solution si votre paresse va au point de ne plus vouloir créer de fichiers PHP:
A travaillé pour moi.
la source