Tìm hiểu các loại sản phẩm thuộc về


11

Tôi đã mở một sản phẩm trong phần phụ trợ, nhưng khi tôi chuyển sang tab danh mục, cây danh mục bị sụp đổ hoàn toàn. Tôi sẽ phải mở rộng tất cả các danh mục để xem sản phẩm đó thuộc loại nào.

Làm cách nào tôi có thể nhanh chóng thấy (trong phần phụ trợ) về loại sản phẩm thuộc về loại nào?


Đó là cách mặc định duy nhất để làm như vậy thông qua phụ trợ;) Bạn có quyền truy cập cơ sở dữ liệu không?
Kenny

1
Ý tưởng đầu tiên của tôi là chạy tree.expandAll()trong bảng điều khiển trình duyệt nhưng thật không may, nó sẽ chỉ hoạt động cho Manage Categoriestrang.
dùng487772

Câu trả lời:


11

Không có chức năng cốt lõi để lưu trữ này trong phần phụ trợ.

Nếu bạn có quyền truy cập đọc cơ sở dữ liệu để chạy các truy vấn thô, bạn có thể sử dụng các truy vấn sau để có cái nhìn tổng quan về tất cả các danh mục được liên kết với một sản phẩm nhất định:

Tùy chọn 1 => Nhận tất cả các danh mục của sản phẩm bằng cách nhập ID thực thể của sản phẩm:

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

Tùy chọn 2 => Nhận tất cả các danh mục của sản phẩm bằng cách nhập SKU của sản phẩm:

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

Bạn có thể tải sản phẩm bằng ID của nó và sau đó lấy id danh mục.

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

Đã thử nghiệm và làm việc.

Bạn có thể đặt tệp này vào một tệp riêng biệt và chỉ cần chạy tệp đó để nhận các danh mục của sản phẩm.

BIÊN TẬP

Không có chức năng cốt lõi để xem điều này trong phần phụ trợ. Tôi tin rằng sẽ cần một sửa đổi phụ trợ nhỏ để mở rộng các danh mục được kích hoạt (có thể với một số JS)


1
Tôi đã tìm kiếm một giải pháp phụ trợ nhiều hơn :-)
Alex

@Alex Tôi đã tìm ra sau khi đọc lại câu hỏi của bạn: PI tin rằng sẽ cần một chút sửa đổi phụ trợ để mở rộng các danh mục được kích hoạt (có thể với một số JS). AFAIK không có chức năng cốt lõi làm những gì bạn muốn.
Rick Kuipers

®Rick: Không phải lỗi của bạn - Tôi đã chỉnh sửa câu hỏi của mình để chứa thông tin đó g
Alex

2

Cột danh mục có thể lọc và có thể tìm kiếm trong quản trị viên: https://github.com/vuleticd/admin_grid_carget_filter

Chúc mừng!


2
Bạn có thể thêm một số ý kiến ​​cho câu trả lời của bạn? Chỉ đăng một câu trả lời liên kết có thể hữu ích nhưng liên kết có thể bị phá vỡ trong tương lai, do đó, việc đăng một số mã vẫn hiển thị sẽ hữu ích hơn cho khách truy cập tương lai vào bài đăng
Yaroslav
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.