0

編集: したがって、このスレッドの男は次のように述べています:そのようなことのためにMagentoで。」これは本当ですか?私がやろうとしていることは失われた原因ですか?

Magento のバックエンドの販売 > 注文 > 特定の注文ビュー > 情報 > 注文されたアイテム グリッドに製品カテゴリを表示しようとしています。これは、[販売] > [注文] に移動したときに表示されるメインの "注文グリッド" ではありません。最初のグリッドで特定の注文をクリックした後に表示される、より詳細なものを変更したいと思います。

このスレッドからのアドバイスに従って、新しいコラムを作成し、適切なタイトル (カテゴリー) を付けました。

次に、その列に入力するために、このスレッドの Joost de Valk のソリューションのコードを app/design/adminhtml/default/default/template/sales/order/view/items/renderer/default.phtmlに追加しました。

私は近くにいるべきだと思います(またはそうでないはずです)が、現在、そのコードは「配列」という単語を返すだけです。何かご意見は?

私の現在のコードは以下です。問題の列は 2 番目の td です - $cats をエコーするものです:

<?php $_item = $this->getItem() ?>
// Here is the snippet I pasted in to define variables.
<?php $product = Mage::getModel('catalog/product')->load($productId);

$cats = $product->getCategoryIds();
foreach ($cats as $category_id) {
    $_cat = Mage::getModel('catalog/category')->load($category_id) ;
    echo $_cat->getName();
}  ?>
<?php $this->setPriceDataObject($_item) ?>
<tr<?php if (!$this->canDisplayGiftmessage()): ?> class="border"<?php endif; ?>>
    <td>
        <?php if ($this->canDisplayContainer()): ?>
        <div id="<?php echo $this->getHtmlId() ?>" class="item-container">
        <?php endif; ?>
        <div class="item-text">
            <?php echo $this->getColumnHtml($_item, 'name') ?>
        </div>
        <?php if ($this->canDisplayContainer()): ?>
        </div>
        <?php endif ?>
    </td>
// Here is the column in question.
    <td class="a-center"><?php echo $cats ?></td>
    <td class="a-center"><?php echo $_item->getStatus() ?></td>
    <td class="a-right"><?php echo $this->displayPriceAttribute('original_price') ?></td>

etc, etc, etc ...
4

2 に答える 2

1

$_catオブジェクトです

$_cat = Mage::getModel('catalog/category')->load($category_id) ;

<td class="a-center"><?php echo $cats ?></td>

表示したいプロパティを知る必要があります

echo $_cat->getXyz();

例えば。

echo $_cat->getName();

いくつかのプロパティのリストを表示するには、

print_r($_cat->getData());
于 2012-12-03T10:24:22.770 に答える
0

ですから、カテゴリーは本当に複雑で、確かに私の能力を超えているようです。私は回避策を見つけましたが、醜いです。私は製造元フィールドを使用しておらず、関連するカテゴリが4つしかないため、これら4つのカテゴリごとに「製造元」を作成し、それらをすべての製品に割り当ててから、関連するファイルで製造元を呼び出します。メーカーのコードは次のとおりです。

 <?php 
$manufacturer = Mage::getModel('catalog/product')->load($_item['product_id'])->getAttributeText('manufacturer'); 
echo $manufacturer;
?> 

そのスニペットのこの投稿に感謝し、他のみんなの助けに感謝します。

于 2012-12-07T05:48:25.240 に答える