階層型ナビゲーションの価格に類似した数値属性範囲をグループ化する方法は?


7

サイズ(cm)の数値属性があります。価格のグループ化と同様に、商品を属性の範囲にグループ化したいと思います。

したがって、サイズが151cm、152cm、153cmの製品が複数ある場合は、レイヤードナビゲーションで「150cm-155cm」オプションにグループ化する必要があります。

これを行うための最善の方法は何ですか?

回答:


3

推奨される年齢層が異なる商品のレイヤードナビゲーションの設定を完了しました。結局、事前定義された値のセットを使用して、レイヤードナビゲーション用の新しい属性を作成しました。階層化されたナビゲーションにグループ化されたフリーフォームの値を取得するのにも苦労していました。

したがって、あなたのケースでは、実際のサイズフィールドを保持し、製品ページに表示するためにそこに製品サイズを入れ、次にサイズ範囲と呼ばれる別の属性があります。サイズ範囲には、145cm-150cm、150c-155cmなどのように、レイヤードナビゲーションに表示するすべての範囲があります。たぶん、複数選択できるので、150cmの商品が両方に入る可能性はありますか?(または単に重複を避ける)これらの値はすべて階層化されたナビゲーションに表示され、機能します。

欠点は、サイズを2回入力することです。1回は表示用で、もう1回はレイヤードナビゲーション用です。私はAPIを使用してスクリプトで新製品をロードするので、これは少しのコーディングであり、継続的な二重データ入力を必要としません。magentoインターフェースを介して多くの製品をロードしている場合、これは煩わしいかもしれません。


0

「magentoインターフェースを介して多くの製品をロードしている場合、これは煩わしいかもしれません。」

@RightClick提案として新しい属性を作成し、

Magentoは以下のコードで属性を提供します

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

例:

$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');
}

または、バルク製品インポートモジュールを使用して、その属性をバルク製品に更新します。バルク製品インポートモジュールの場合、多次元配列を作成する必要があります

$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());
}

AvS_FastSimpleImportのリンク


このリンクで質問に答えることができますが、回答の重要な部分をここに含め、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。- レビューから
Murtuza Zabuawala

@MurtuzaZabuawalaご提案ありがとうございます。これがstackoverflowに関する私の最初の答えであり、私はあなたが新しいことを知るようになるからです。
Gopal Patel 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.