Scopri a quali categorie appartiene un prodotto


11

Ho aperto un prodotto nel back-end, ma quando passo alla scheda categorie, l'albero delle categorie è completamente compresso. Dovrei espandere tutte le categorie per vedere in quali si trova il prodotto.

Come posso vedere rapidamente (nel backend) a quali categorie appartiene il prodotto?


È l'unico modo predefinito per farlo tramite il backend;) Hai accesso al database?
Kenny,

1
La mia prima idea è stata quella di funzionare tree.expandAll()in una console del browser, ma sfortunatamente funzionerà solo per la Manage Categoriespagina.
user487772

Risposte:


11

Non esiste alcuna funzionalità di base per archiviarlo nel back-end.

Se si dispone dell'accesso in lettura al database per eseguire query non elaborate, è possibile utilizzare le seguenti query per ottenere una panoramica di tutte le categorie collegate a un determinato prodotto:

Opzione 1 => Ottieni tutte le categorie di un prodotto inserendo l'ID entità del prodotto:

SELECT c3.sku, c2.value
FROM catalog_category_product c1
INNER JOIN catalog_category_entity_varchar c2 ON (c1.category_id = c2.entity_id)
INNER JOIN catalog_product_entity c3 ON (c1.product_id = c3.entity_id)
WHERE c2.attribute_id = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'name' AND entity_type_id = 3)
AND c3.entity_id = FILL_IN_PRODUCT_ID_HERE

Opzione 2 => Ottieni tutte le categorie di un prodotto inserendo lo SKU del prodotto:

SELECT c3.sku, c2.value
FROM catalog_category_product c1
INNER JOIN catalog_category_entity_varchar c2 ON (c1.category_id = c2.entity_id)
INNER JOIN catalog_product_entity c3 ON (c1.product_id = c3.entity_id)
WHERE c2.attribute_id = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'name' AND entity_type_id = 3)
AND c3.sku = FILL_IN_PRODUCT_SKU_HERE

6

È possibile caricare il prodotto in base all'ID e quindi ottenere gli ID categoria.

require('app/Mage.php');
umask(0);
Mage::app('admin');
$id = 1; //Your product ID here
$product = Mage::getModel('catalog/product')->load($id);
$categoryIds = $product->getCategoryIds();
echo '<h1>' . $product->getName() . '</h1>';
foreach ($categoryIds as $cid) {
    $category = Mage::getModel('catalog/category')->load($cid);
    echo $category->getName() . '<br />';
}

Testato e funzionante.

Puoi metterlo in un file separato ed eseguirlo semplicemente per ottenere le categorie del prodotto.

MODIFICARE

Non esiste alcuna funzionalità di base per visualizzarlo nel back-end. Credo che occorrerebbe una leggera modifica del backend per espandere le categorie abilitate (forse con alcuni JS)


1
Ero più alla ricerca di una soluzione di backend :-)
Alex

@Alex Ho capito dopo aver riletto la tua domanda: PI credo che ci vorrebbe una leggera modifica del backend per espandere le categorie abilitate (forse con alcuni JS). AFAIK non esiste alcuna funzionalità di base che fa ciò che desideri.
Rick Kuipers,

®Rick: non è colpa tua - ho modificato la mia domanda per contenere quelle informazioni g
Alex

2

Colonna della categoria filtrabile e ricercabile nell'amministratore: https://github.com/vuleticd/admin_grid_category_filter

Saluti!


2
Potresti aggiungere alcuni commenti alla tua risposta? La pubblicazione di una sola risposta può essere utile, ma il collegamento può essere interrotto in futuro, quindi pubblicare un codice che rimane visibile sarebbe più utile per il futuro visitatore del post
Yaroslav
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.