找出产品所属的类别


11

我在后端打开了一个产品,但是当我切换到“类别”选项卡时,类别树已完全折叠。我将不得不扩展所有类别,以查看产品所属的类别。

如何快速(在后端)查看产品所属的类别?


这是通过后端执行此操作的唯一默认方法;)您是否具有数据库访问权限?
肯尼(Kenny)2013年

1
我的第一个想法是tree.expandAll()在浏览器控制台中运行,但不幸的是,它仅适用于Manage Categories页面。
user487772 2013年

Answers:


11

没有核心功能可将其存档在后端中。

如果您具有数据库读取访问权限以运行原始查询,则可以使用以下查询来获取链接到某个产品的所有类别的概述:

选项1 =>通过输入产品的实体ID获取产品的所有类别:

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

选项2 =>通过输入产品的SKU获取产品的所有类别:

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

您可以通过产品ID加载产品,然后获取类别ID。

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

经过测试和工作。

您可以将其放在单独的文件中,然后只需运行该文件即可获取产品的类别。

编辑

没有核心功能可在后端查看。我相信要对启用的类别进行扩展(可能需要使用一些JS),需要稍作后端修改。


1
我正在寻找后端解决方案:-)
Alex

@Alex我在重新阅读了您的问题后才发现:PI认为,要使启用的类别扩展(也许使用某些JS),将需要进行一些后端修改。AFAIK没有可满足您需求的核心功能。
Rick Kuipers 2013年

®Rick:不是您的错-我编辑了问题以包含该信息g
Alex

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.