2013-04-28 21 views
5

Sto usando Magento (1.7) e ho appena esteso il mio vecchio negozio (negozio1) con store2 per negozio multiplo. Ho molti prodotti (circa 1500) e sono tutti visibili in Store1 ma non nel nuovo negozio (store2). C'è un modo semplice per abilitare tutti i prodotti per i negozi?Come abilitare tutti i prodotti in tutti i negozi

risposta

8

nella griglia prodotti in Admin, selezionare tutti i prodotti con il tasto 'seleziona tutto'. Dal menu a discesa "azioni"; seleziona 'Aggiorna attributi'. Nella scheda "Siti Web"; selezionare i siti Web desiderati e fare clic su "Salva". Successivamente, reindicizzare tutti i dati:

Vai a: Sistema> Gestione indice.
Seleziona tutti gli elementi e inizia la reindicizzazione inviando il modulo.

+0

Il mio problema completamente opposto, per errore i nostri prodotti hanno assegnato entrambi i siti web, ho bisogno che i miei prodotti presentino un solo negozio. Come consigliato sopra il mio sito web è costituito da 25k prodotti. Non è possibile utilizzare gli attributi di modifica, mentre provo a bloccare il mio sito Web, è possibile farlo DB o in qualsiasi altro modo. – Rathinam

2

Ci sono un paio di modi per farlo. Innanzitutto, e più semplice, è utilizzare la funzione di modifica di massa nell'amministratore. Vai alla tua pagina di gestione dei prodotti, fai clic su Seleziona tutto, cambia il menu a discesa delle azioni per dire "Modifica attributi" e fai clic su Invia. Quindi, nella scheda Siti Web, assicurati che il tuo nuovo sito sia selezionato nell'area "Aggiungi prodotto ai siti web" e fai clic su Salva.

Se hai bisogno di fare questo programatically e hai gli ID del sito web, si può mettere qualcosa di simile in uno script PHP nella root Magento:

<?php 

require_once('app/Mage.php'); 
umask(0); 
Mage::app('admin'); 

$website_ids = array(1, 2); // I'm assuming your website IDs are 1 and 2. 
// $website_ids = getWebsitesArray(); 

$product_collection = Mage::getModel('catalog/product')->getCollection(); 
foreach($product_collection as $product) { 
    $product->setWebsiteIds($website_ids); 
    $product->save(); 
} 

E per buona misura, ecco come ottenere tale matrice website_ids programatically:

/* @return array */ 
function getWebsitesArray() { 
    $ret = array(); 
    $website_collection = Mage::app()->getWebsites(true); 
    foreach($website_collection as $website) { 
     $ret = array_push($website->getId()); 
    } 

    return $ret; 
} 
Problemi correlati