Cari tahu kategori mana yang dimiliki produk


11

Saya membuka produk di backend, tetapi ketika saya beralih ke tab kategori, pohon kategori sepenuhnya diciutkan. Saya harus memperluas semua kategori untuk melihat di mana produk itu berada.

Bagaimana saya bisa dengan cepat melihat (di backend) ke kategori mana produk itu berada?


Ini satu-satunya cara default untuk melakukannya melalui backend;) Apakah Anda memiliki akses database?
Kenny

1
Ide pertama saya adalah menjalankan tree.expandAll()di konsol browser tetapi sayangnya itu hanya akan berfungsi untuk Manage Categorieshalaman.
user487772

Jawaban:


11

Tidak ada fungsi inti untuk mengarsipkan ini di backend.

Jika Anda memiliki akses baca basis data untuk menjalankan kueri mentah, Anda dapat menggunakan kueri berikut untuk mendapatkan gambaran umum dari semua kategori yang ditautkan ke produk tertentu:

Opsi 1 => Dapatkan semua kategori produk dengan memasukkan ID entitas produk:

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

Opsi 2 => Dapatkan semua kategori produk dengan memasukkan SKU produk:

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

Anda dapat memuat produk dengan ID itu dan kemudian mendapatkan id kategori.

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 />';
}

Diuji dan bekerja.

Anda dapat menempatkan ini dalam file terpisah dan jalankan file itu untuk mendapatkan kategori produk.

EDIT

Tidak ada fungsi inti untuk melihat ini di backend. Saya percaya itu akan memerlukan sedikit modifikasi backend untuk memiliki kategori yang diaktifkan diperluas (mungkin dengan beberapa JS)


1
Saya lebih mencari solusi backend :-)
Alex

@ Alex Saya pikir setelah membaca kembali pertanyaan Anda: PI percaya itu akan memerlukan sedikit modifikasi backend untuk memiliki kategori yang diaktifkan diperluas (mungkin dengan beberapa JS). AFAIK tidak ada fungsi inti yang melakukan apa yang Anda inginkan.
Rick Kuipers

®Rick: Bukan salahmu - saya edit pertanyaan saya mengandung info g
Alex

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.