0

このページでは、商品名のすぐ下にメーカー名を追加したいのですが、うまくいきません。いくつかの提案を試みましたが、どれもうまくいかないようです。

編集するファイルと行を具体的に指定してください。

4

2 に答える 2

1

Admin -> Catalog -> Manage Attributes で「manufacturer」フィールドを作成するために属性セットを使用していると仮定して、これを試してください。

Catalog Product Block Grid /app/code/core/Mage/Adminhtml/Block/Catalog/Product/Grid.php を拡張するカスタム モジュールを作成します。

ブロック ファイルの作成: app/code/local/MageIgniter/ManufacturerGrid/Block/AdminhtmlCatalog/Product/Grid.php

class MageIgniter_ManufacturerGrid_Block_Adminhtml_Catalog_Product_Grid extends Mage_Adminhtml_Block_Catalog_Product_Grid
 {

メソッド _prepareCollection() をカスタム ブロックにコピーして更新します (58 行目)

 $collection = Mage::getModel('catalog/product')->getCollection()
        ->addAttributeToSelect('sku')
        ->addAttributeToSelect('name')
        ->addAttributeToSelect('manufacturer')   // added this line
        ->addAttributeToSelect('attribute_set_id')
        ->addAttributeToSelect('type_id');

メソッド _prepareColumns() をカスタム ブロックにコピーして追加します

    $this->addColumn('manufacturer',
        array(
            'header'=> Mage::helper('catalog')->__('Manufacturer'),
            'width' => '60px',
            'index' => 'manufacturer',
            'type'  => 'options';
            'options' => Mage::helper('manufacturergrid')->getManufacturerOption(),
    ));

ヘルパー ファイルの作成: app/code/local/MageIgniter/ManufacturerGrid/Helper/Data.php

 class MageIgniter_ManufacturerGrid_Helper_Data extends Mage_Core_Helper_Abstract
 {

    public function getManufacturerOption(){
       $_opt = array();
       foreach (Mage::getModel('eav/config')->getAttribute('catalog_product','manufacturer')->getSource()->getAllOptions(false,true) as $option){
           $_opt[$option['value']] = $option['label'];
       }

    return $_opt;
   }  

 }

作成: app/code/local/MageIgniter/ManufacturerGrid/etc/config.xml

<config>
  <modules>
    <MageIgniter_ManufacturerGrid>
        <version>1.0.0</version>
    </MageIgniter_ManufacturerGrid>    
  </modules>

  <global>
      <blocks>
        <adminhtml>
            <rewrite>
            <catalog_product_grid>MageIgniter_ManufacturerGrid_Block_Adminhtml_Catalog_Product_Grid</catalog_product_grid>
            </rewrite>
        </adminhtml>
      </blocks>
    <helpers>
        <localship>
            <class>MageIgniter_ManufacturerGrid_Helper</class>
        </localship>
    </helpers>
  </global>
 </config>

作成: app/etc/modules/MageIgniter_ManufacturerGrid.xml

  <?xml version="1.0"?>
    <config>
           <modules>
                  <MageIgniter_ManufacturerGrid>
                          <active>true</active>
                          <codePool>local</codePool>
                  </MageIgniter_ManufacturerGrid>
           </modules>
    </config>
于 2012-10-03T01:49:14.737 に答える