제품이 속한 카테고리 찾기


11

백엔드에서 제품을 열었지만 카테고리 탭으로 전환하면 카테고리 트리가 완전히 축소됩니다. 제품이 어느 카테고리에 있는지 보려면 모든 카테고리를 확장해야합니다.

제품이 속한 범주를 어떻게 백엔드에서 빠르게 볼 수 있습니까?


백엔드를 통해이를 수행하는 유일한 기본 방법입니다.;) 데이터베이스 액세스 권한이 있습니까?
Kenny

1
내 첫 번째 아이디어는 tree.expandAll()브라우저 콘솔에서 실행 하는 것이었지만 불행히도 Manage Categories페이지 에서만 작동 합니다.
user487772

답변:


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 나는 당신의 질문을 다시 읽은 후에 생각했습니다. AFAIK에는 원하는 기능을 수행하는 핵심 기능이 없습니다.
Rick Kuipers

®Rick : 아니 당신의 잘못 - 그 정보 포함하는 내 질문에 편집 g
알렉스

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.