0

こんにちは私はスクリプトでカスタム属性を選択しようとしています。

これが私のコードです

$collection = Mage::getModel('catalog/product')->getCollection()

->addAttributeToSelect('jan')

->addAttributeToSelect('name')

->addAttributeToSelect('upc')

->addAttributeToSelect('ean')

->addAttributeToSelect('price')

->addAttributeToSelect('cost_price')

->addAttributeToSelect('subtitle')

->addAttributeToSelect('url_key')

->addAttributeToSelect('brand')

->addAttributeToFilter('sku', array('eq' => '30000387'));

次に、foreachループを実行して、$collectionを$itemとして処理します。

$ item-> getData('ここに属性コードを挿入')を使用して、これらすべての値を取得できます。

私が何をしてもcost_priceを除いて私は試したcost_priceを引っ張ることができないようです

$item->getData('cost_price')
$item->getCostPrice()

念のため、インデックスの再作成とキャッシュの削除を試みましたが、役に立ちませんでした。値は私が選択している製品に間違いなく記入されています。

感謝します。

4

2 に答える 2

2

常にcost_price属性をロードする場合(製品のloadを呼び出す必要がない場合)、次のいずれかで常にロードするようにする方がよい場合があります。

  • バックエンドに移動し、[カタログ]->[属性の管理]->属性を選択し、[フロントエンドの製品ビューページに表示]と[製品リストで使用]で[はい]を選択します。
  • カタログconfig.xmlにeav属性を追加します。

    <product>
        <collection>
            <attributes>
                <name/>
                <url_key/>
                <price/>
                <special_price/>
                .....
                <cost_price/>
            </attributes>
        </collection>
    </product>
    

(ただし、コアファイルは編集しないでください。独自のモジュールを作成してください)

于 2012-11-01T07:00:40.063 に答える
0

これを試して

 <?php echo $_product->getResource()->getAttribute('cost_price')->getFrontend()->getValue($_product); ?>
于 2012-11-02T05:34:56.317 に答える