/ / script php per magento - php, magento, category

script php per magento - php, magento, category

Ho un negozio di Magento con oltre 3000 prodotti e 1000 categorie.

Category I
Category 1
Category 2
Category II
Category 3
Category 4

Il mio problema è che tutti i prodotti sono solo inle categorie più profonde. Ad esempio: un prodotto in Categoria 3 deve anche essere in Categoria II, ma non lo è: c'è un modo per farlo tramite script php con tutti i prodotti?

Grazie in anticipo!

risposte:

0 per risposta № 1

Puoi creare un semplice modulo che avrà un singolo script di installazione dei dati con qualcosa di simile all'interno:

$categoryi = array(6);
$category2 = 20;

$category = Mage::getModel("catalog/category")->load($category2);
/* @var $category Mage_Catalog_Model_Category */

$productsCollection = $category->getProductCollection();
/* @var $productsCollection Varien_Data_Collection_Db */

$products = $productsCollection->getItems();
/* @var $products array of Mage_Catalog_Model_Product */

foreach($products as $product) {
/* @var $product Mage_Catalog_Model_Product */
$categories = $product->getCategoryIds();
$categories = array_unique(array_merge($categories, $categoryi));
$product->setCategoryIds($categories);
$product->save();
}

Fondamentalmente, $categoryi è la categoria che desideri assegnare ai tuoi prodotti. $category2 è la categoria da cui recuperare i tuoi prodotti.

Questo script è solo un esempio. Dovrai modificarlo per adattarlo agli id ​​delle tue categorie e magari aggiungere un ciclo in modo che funzioni per tutte le categorie!


0 per risposta № 2

Devi solo attivare l'opzione Ancoraggio nelle categorie per mostrare i prodotti delle categorie secondarie su di esso.


0 per risposta № 3

Non penso che sia necessaria alcuna codifica per questo. Puoi provare quanto segue:

  • Apri la categoria 1
  • Vai a Impostazioni display
  • Impostare "Is Anchor" da "No" a "Sì"
  • Salva categoria 1
  • Vai alla gestione dell'indice
  • re-indicizzare l'elemento dell'indice "prodotti di categoria"

Controlla il frontend. I prodotti della sottocategoria dovrebbero ora essere visualizzati anche nelle categorie principali. Se funziona, cambialo per tutte le categorie. Oppure crea uno script per aggiornare questa impostazione di categoria.

In bocca al lupo!