Làm cách nào để nhóm phạm vi thuộc tính số tương tự với giá trong điều hướng lớp?


7

Tôi có một thuộc tính số là kích thước (tính bằng cm). Tôi muốn nhóm các sản phẩm thành các phạm vi thuộc tính tương tự như cách giá được nhóm lại.

Vì vậy, nếu tôi có một số sản phẩm với kích thước 151cm, 152 cm, 153cm thì nên nhóm chúng thành một tùy chọn "150cm - 155cm" trong điều hướng lớp.

Cách tốt nhất để làm điều này là gì?

Câu trả lời:


3

Tôi vừa hoàn thành việc thiết lập điều hướng theo lớp cho các sản phẩm có độ tuổi được đề xuất khác nhau. Tôi đã kết thúc việc tạo một thuộc tính mới cho điều hướng lớp, với một tập hợp các giá trị được xác định trước. Tôi cũng đang vật lộn để có được các giá trị tự do được nhóm lại trong lớp điều hướng.

Vì vậy, trong trường hợp của bạn, bạn sẽ giữ trường kích thước thực tế và đặt kích thước sản phẩm của mình vào đó để hiển thị trên các trang sản phẩm, sau đó bạn có một thuộc tính khác gọi là Phạm vi Kích thước. Trong Phạm vi kích thước, bạn có tất cả các phạm vi mà bạn muốn được hiển thị trong điều hướng lớp, như 145cm-150cm, 150c-155cm, ect. Có thể đa lựa chọn để một sản phẩm 150cm có thể nằm trong cả hai? (hoặc chỉ tránh bất kỳ sự chồng chéo nào) Tất cả các giá trị đó sẽ hiển thị trong điều hướng lớp và nó sẽ hoạt động.

Nhược điểm ... bạn đang nhập kích thước hai lần, một lần để hiển thị và một lần cho mục đích điều hướng lớp, yuck. Tôi tải các sản phẩm mới với tập lệnh sử dụng api, vì vậy đối với tôi đây là một chút mã hóa và sẽ không yêu cầu nhập dữ liệu gấp đôi. Nếu bạn đang tải nhiều sản phẩm qua giao diện magento thì điều này có thể gây khó chịu.


0

"Nếu bạn đang tải rất nhiều sản phẩm thông qua giao diện magento thì điều này có thể gây phiền nhiễu."

Tạo thuộc tính mới như @RightClick đề xuất và

Magento cung cấp một thuộc tính bằng mã bên dưới

$product->setAttributeCode($newValue)
$ProductObject->getResource()->saveAttribute($product, 'attribute_Code');

Thí dụ:

$productIds = array(1,2,3,4,5);
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('entity_id', array('in' => $productIds));

foreach($products as $product)
{
    $product->setSpecialFromDate('2010-10-28');
    // below code use for time format 
    $product->setSpecialFromDateIsFormated(true);
    $product->getResource()->saveAttribute($product, 'special_from_date');
}

Hoặc sử dụng bất kỳ mô-đun nhập sản phẩm số lượng lớn nào để cập nhật thuộc tính đó lên số lượng lớn Sản phẩm. Đối với mô-đun nhập sản phẩm số lượng lớn, bạn phải tạo mảng nhiều chiều

$data = array(
    array(
        'sku' => 'simple1',
        'attribute_code' => 'range_value1',
    ),
    array(
        'sku' => 'simple2',
        'attribute_code' => 'range_value2',
    ),
    array(
        'sku' => 'grouped',
        'attribute_code' => 'range_value3',
    ),
);

// now update that array collection in one go

try {
    /** @var $import AvS_FastSimpleImport_Model_Import */
    $import = Mage::getModel('fastsimpleimport/import');
    $import
        ->setUseNestedArrays(true)
        ->processProductImport($data);
} catch (Exception $e) {
    print_r($import->getErrorMessages());
}

Liên kết cho AvS_FastSimpleImport


Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi. - Từ đánh giá
Murtuza Zabuawala

@MurtuzaZabuawala Cảm ơn lời đề nghị của bạn. Vì đây là câu trả lời đầu tiên của tôi về stackoverflow và tôi biết bạn có điều gì đó mới mẻ.
Gopal Patel
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.